我有两个 model
class Order < ActiveRecord::Base
has_many :lists
attr_accessible :name
end
class List < ActiveRecord::Base
belongs_to :order
attr_accessible :number, :name, :about
end
现在我在一个 form 里,创建 order,如下:
= simple_form_for(@order) do |f|
= f.input :name
= f.simple_fields_for :list_attributes do |d|
= d.input :number
= d.input :name
= d.input :about
= f.button :submit
正常情况下来说,如果我 new 一个 order 的时候,同事新建一个 list,是可以使用上面的 form 的。
但是我现在的情况是这样,@order = Order.new
,order 是创建的。但是 list 不一定是创建的,可以说是更具 number 来判定,如果 number 在数据库中存在,只需要 update list 的 name 和 about 字段,并且order_id = @order.id
.
但是,如果 number 是在数据库内不存在的话,自然就 new 一个 List。请问这样应该在 controller 或者 model 里怎么写比较好呢?