ユーザー入力を必要とする小さなウィンドウを作成するために、link_to で目立たない Javascript を使用する Rails 3 アプリケーションがあります。元のボタンは次のとおりです (クライアントが猫を追加する場合):
<%= link_to "New Cat", new_client_cat_path(@client), :remote => true, :class => "btn btn-primary btn-large" %>
app/controllers/cats_controller.rb:
def new
@cat = @client.cats.build
@submit_label = "Create"
respond_to do |format|
format.html
format.js { }
end
end
app/views/cats/new.js.erb:
$('#<%= dom_id(@cat) %> .details').html('<%= escape_javascript render("new") %>');
app/views/cats/_new.html.erb:
<h2>New Cat</h2>
<%= form_for [@client, @cat] do |f| %>
<%= f.error_messages %>
<%= f.submit @submit_label, :class => "btn btn-primary btn-large" %>
<% end %>
<%= link_to "Cancel", @client, :class => "btn btn-primary btn-large" %>
私の問題は、レンダリングされた「新しい」ウィンドウが表示されないことです。ログ ファイルは、これらのページがレンダリングされたことを示しています。
Rendered cats/_new.html.erb (3.8ms)
Rendered cats/new.js.erb (5.4ms)
ユーザーが「New Cat」ボタンをクリックしたのと同じウィンドウに出力が表示されない理由を理解できるように、出力がどこにレンダリングされているかを知るにはどうすればよいですか?