** edit.js で $("#form > form") を使用し、$("#form") を使用しない理由を専門家が説明できますか??
関連するコードを次に示します:**
コントローラー内部(app/controllers/entries_controller.rb)
def edit
@entry = Entry.find(params[:id])
respond_to do |format|
format.html
format.js
end
end
フォームに値を設定する app/views/entries/edit.js.erb テンプレート内のコードは次のとおりです。
$("#form > form").replaceWith("<%= escape_javascript(render(:partial => "form"))%>")
インデックスページ(app/views/entries/index.html.erb)
<h2>Entry form</h2>
<div id="form">
<%= render :partial => "form" %>
</div>
フォーム部分 (app/views/entries/_form.html.erb)
<%= form_for(@entry, :remote => true) do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :address %><br />
<%= f.text_area :address, :rows => 3 %>
</div>
<div class="field">
<%= f.label :phone %><br />
<%= f.text_field :phone %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>