Rails 4形成远程更新div

时间:2013-07-31 10:24:41

标签: ruby-on-rails ruby ajax ruby-on-rails-4 ruby-2.0

我正在将rails 2.3.8 app升级到rails 4,并且我有一个没有在rails 4上运行的form_remote_tag。

我的原始代码:

查看.erb

<% form_remote_tag :url => { :controller => :x, :action => :y  } do %>
  ...
<% end %>

<div id="changediv"> 
  <%= render :partial => 'y' %>
</div>

controller x.rb

def y
  ...
  render :update do |page|
    page.replace_html 'changediv', :partial => "partialview"
  end
end

_partialview.erb

some html code …..

这就是我尝试升级到rails 4的方式,但是没有运行,我做错了什么?

查看.erb

<%= form_tag(url_for(:action => 'y'), :remote => true) do %>

<% end %>

<div id="changediv">
  <%= render :partial => 'y' %>
</div>

controller x.rb

def y
  ...
  render :partial => 'partialview'
end

_partialview.erb

some html code … 

1 个答案:

答案 0 :(得分:2)

您可以尝试使用控制器format.js

中的x.rb
def y
  respond_to do |format|
   format.js 
  end
end

还需要为js.erb

创建y

<强> y.js.erb

$('#your_div').html("<%= escape_javascript(render :partial => 'your_partial')%>");