そのため、Rails 3 で link_to メソッドと ajax をどのように使用すれば、異なるパーシャルを再レンダリングできるのか疑問に思っていました。
例:
2 つのリンクがshow.html.erb
あり、すべてのリンクにレンダリングする部分があるとします。
<li><%= link_to "Group1", user_path(@user), { :action => 'group1' , :method => :get, :remote => true} %></li>
<li><%= link_to "Group2", user_path(@user), { :action => 'group2' , :method => :get, :remote => true} %></li>
そして、この div でパーシャルをレンダリングします。
<div id="profile-data">
...render here...
</div>
にはUsersController
、各パーシャルの呼び出しメソッドがあります。
def group1
respond_to do |format|
format.js
end
end
def group2
respond_to do |format|
format.js
end
end
そしてもちろん、ビュー ユーザー フォルダーに js ファイルがあります。
group1.js.erb
$("#profile-data").html("<%= escape_javascript(render(:partial => 'group1')) %>");
group2.js.erb
$("#profile-data").html("<%= escape_javascript(render(:partial => 'group2')) %>");
私の質問は次のとおり です。これは、ajax でさまざまなパーシャルをレンダリングする正しい方法ですか? 何か不足していますか?それらを何らかの方法でルーティングする必要がありますか?
このコードは現在機能していません。理由はわかりません。助けていただければ幸いです。