私は次のものを持っています:
class Person < ActiveRecord::Base
has_many :tasks
end
class Task < ActiveRecord::Base
belongs_to :person
end
人の新しいタスクを作成するのに問題はありませんが、タスクを更新しようとすると難しくなります。
最初は、両方のアクションのパーシャルがありました。
<%= form_for([@person, @person.tasks.build]) do |f| %>
# Form stuff
<%= f.submit "Guardar", :class => 'btn'%>
<% end %>
しかし、更新しようとすると新しいオブジェクトが作成され続けました。そこで、作成と更新用に別々のフォームを作成しました。2 番目のフォームは次のようなものです。
<%= form_for([@person, @task], :url => {:action => :update} ) do |f| %>
# Form stuff
<%= f.submit "Guardar", :class => 'btn'%>
<% end %>
私の質問は、1 つのフォームだけで両方を行う方法はありますか? 単一のモデルを使用する場合、いつ作成または更新するかをどのように知るのでしょうか?