【发布时间】:2016-01-28 11:19:39
【问题描述】:
确实,尽管将 ajax 加载设置为 'remote=>true',但它会加载 url
'/noajax_en/v/yt/' + @movie.uid + '/refresh_part_after_comment'
为什么它不会加载 ajax?它应该加载下面的网址
'/en/v/yt/' + @movie.uid + '/refresh_part_after_comment'
这是我的代码
查看
<%= form_for(@comment, :url => {:controller => "comments", :action => "create" }, :remote => true) do |f| %>
<%= f.text_field :body, id:"body_input" %>
<%= f.hidden_field :elapsed_time, id: "elapsed_time" %>
<%= f.hidden_field :video_id, value: params[:uid] %>
<%= button_tag( :class => "btn btn-primary") do %>
Post
<% end %>
<% end %>
cmets_controller.rb
def create
.
.
.
flash[:notice] = "posted"
if request.xhr? # ajax request
respond_to do |format|
render '/en/v/yt/' + @movie.uid + '/refresh_part_after_comment'
end
else
redirect_to '/noajax_en/v/yt/' + @movie.uid + '/refresh_part_after_comment'
end
end
【问题讨论】:
-
尝试取出
respond_to do |format|块,即在request.xhr?案例中执行render行。 -
@MaxWilliams 感谢您的评论。取出来还是一样。
-
@MKK 你想在哪里渲染部分?它应该加载一些内容并替换视图中的某些内容吗?
-
@rob 是的,这正是我想要的!
标签: jquery ruby-on-rails ajax ruby-on-rails-3 ruby-on-rails-4