1

我有一个页面,代码如下:

<div>
<%= render 'form' %>
</div>

<div id="item_container">
<%= render @item %>  
</div>

其中 form 是“@item”的表单,“render @item”呈现代表“@item”的部分。该表单使用 remote: :true 并使用 AJAX 提交。

在提交表单时,rails 3 中更新整个 @item 部分的最简单和最有效的方法是什么。

4

1 回答 1

4

在您的控制器操作中,您需要添加一个 respond_to 块

respond_to do |format|
  format.html
  format.js
end

并且您可以编写一个直接在其中编写 javascript 代码的视图(假设您的操作名称是“更新”)

更新.js.erb

$('#item_container').html('<%= j render(@item) %>');

注意 JS 响应转义的 'j'

于 2013-03-20T23:13:50.153 回答