足場を生成しました。足場テストと呼ばせてください。 足場の中で、私は_form.html.erbをアクションのためにレンダリングしています:new =>:create and:edit =>:update提出時のform_forの違いを知るにはどうすればいいですか?new:edit
Railsは時々たくさんの魔法をします。 form_forは、適切に呼び出す方法を知っている:
<%= form_for(@test) do |f| %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
足場フォームを編集対 アンスキャフォールドフォーム
<% form_for @test :url => {:action => "new"}, :method => "post" do |f| %>
<%= f.submit %>
<% end %>
012:新しいと:アクションが間を押したときを提出します
編集テンプレート
<h1>Editing test</h1>
<%= render 'form' %>
新しいテンプレート
<h1>New test</h1>
<%= render 'form' %>
両方のテンプレートが同じフォームをレンダリングするが、異なるアクションを使用することができますどのようにフォーム 間theresの何の違いを見ることはできないと?
'action'と' method'はInfactは 'object.persistedのオフに基づいています'チェック?https://github.com/rails/rails/blob/4-0-stable/actionpack/lib /action_view/helpers/form_helper.rb?#L441-L453だから私はなぜこの答えが落ちたのかわからない。 "それが永続化されていれば、それは編集フォームです。もしそうでなければ、それは新しいフォーム" – vee