我有以下内容:
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 %>
但它在尝试更新时不断创建新对象。所以我为创建和更新创建了单独的表单,第二个是这样的:
<%= form_for([@person, @task], :url => {:action => :update} ) do |f| %>
# Form stuff
<%= f.submit "Guardar", :class => 'btn'%>
<% end %>
我的问题是,有没有办法只用一种形式来做这两件事?使用单个模型时,它如何知道何时创建或更新?