2011-03-28 71 views
0

假設你有以下Child類:如何提交併保存父窗口的子窗體作爲嵌套字段?

Child < AR 
belongs_to :parent 
end 

這是關聯到Parent類:

Parent < AR 
has_many :children 
end 

我想給ChildrenController允許的動作/視圖中創建一個表單用戶創建一個新的Child和一個新的Parent如果沒有分配(我不希望ParentsController,因爲它沒有與應用程序相同的相關性)。

我已經創造了new.haml.html視圖一個簡單的形式:

= simple_form @child do |c| 
    c.input :field_for_child 
    c.association :parent do |p| 
    p.input :field_for_parent 

結果是params散列,看起來像"child" => { "field_for_child" => "value1", "parent" => { "field_for_parent: => "value2" } }

我該怎麼做才能拯救「孩子」和「父母」儘可能少的行?

回答

0
@child.parent_id = (params[:parent][:field_for_parent]) || Parent.create(...).id 

這會是我的猜測......在哪裏 「(...)」 將成爲你新的父

0
在模型中

你寫論點

class Child < AR 
    belongs_to :parent 
    accepts_nested_attributes_for :parent 
end 

和那麼在控制器內部,您可以使用給定的屬性保存該孩子。

相關問題