これはどのように私の見解のルックス(開始タグと終了タグを無視してください)です。rails3 ajax:ajaxを介してローカル変数を永続化する最善の方法は何ですか?
@obj1.leaves.each do |l|
<div id = "form">
if <some_condition>
render :partial => 'shared/view1', :locals => { :l => l }
else
render :partial => 'shared/view2', :locals => { :l => l }
end
</div>
end
そしてVIEW1の最後のアクションが表示され、その逆AJAXスルーするVIEW2の原因となります。しかし、view1またはview2がレンダリングされると、ローカル変数 'l'は認識されなくなり、フォームが表示されないようにするエラーがスローされます(マニュアルページの更新時を除く)。フォームを動作させ、私の 'l'を持続させるために私は何をしますか?
ご協力いただきありがとうございます。
EDIT:VIEW1のための私のcreate.js.erbファイル(私は実際にそうその逆の方法を破壊するVIEW2):
$("#form").replaceWith("<%= escape_javascript(render('shared/view2')).html_safe %>")
そして、私の実際のビュー:
<%= form_for([l, l.likes.build], :remote => true) do |f| %>
<div class="actions"><%= f.submit "Like" %></div>
<% end %>
あなたが見せているもの、またはもう1つを示すAjaxのどれですか? –
ajaxによってレンダリングされたフォームは失敗します – Ari53nN3o
それでは、それが役立つ部分を示しています。 –