1

次のようなコードを含むページがあります。

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

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

ここで、form は「@item」のフォームであり、「render @item」は「@item」を表すパーシャルをレンダリングします。フォームは remote::true を使用し、AJAX を使用して送信します。

フォームが送信されたときに@itemパーシャル全体を更新するRails 3で最も簡単で効率的な方法は何ですか。

4

1 に答える 1

4

コントローラアクションで、respond_toブロックを追加する必要があります

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

そして、JavaScriptコードを直接書き込むビューを書くことができます(アクション名が「update」の場合)

update.js.erb

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

JS応答のためにエスケープする「j」に注意してください

于 2013-03-20T23:13:50.153 に答える