FeesController の "show" アクション テンプレートで表示されるコードは次のとおりです。
<div id="payers_controls">
<%= link_to_remote('New payer',
:update => "payers_controls",
:url => new_payer_url)
%>
</div>
ここに new.rjs があります - PayersController の "new" アクションに属します
page.replace_html "payers_controls", :partial => "form", :object => @payer
これがPayersControllerの「新しい」アクションです
def new
@payer = Payer.new(params[:payer])
end
PayersController の「新規」アクションの「フォーム」部分は次のとおりです。
<%= "Damn text to see if this damn partial is rendered properly" %>
次に、「New payer」リンクをクリックすると、「payers_controls」DIV 内にプレーンな JS が表示されます。
try { Element.update("payers_controls", "Damn text to see if this damn partial is rendered properly"); } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.update(\"payers_controls\", \"Damn text to see if this damn partial is rendered properly\");'); throw e }
そして、なぜこのいまいましい応答が SCRIPT タグで囲まれていないのでしょうか? JS 応答のページに SCRIPT タグを含む別の非表示のプレースホルダーを作成する必要がありますか?
PS 私は AJAX on Rails の初心者なので、私の怒りを理解してください。