0

假设您有以下Child课程:

Child < AR
 belongs_to :parent
end

与一个Parent类相关联:

Parent < AR
 has_many :children
end

我想在 的动作/视图中创建一个表单,如果没有分配,则ChildrenController允许用户创建一个新的Child和一个新的(我不想要一个,因为它与应用程序)。ParentParentsController

我在 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" } }

如何以尽可能少的行保存“子”和“父”?

4

2 回答 2

0

在你写的模型中

class Child < AR
  belongs_to :parent
  accepts_nested_attributes_for :parent
end

然后在您的控制器中,您可以使用给定的属性保存孩子。

于 2011-03-28T14:01:10.430 回答
0
@child.parent_id = (params[:parent][:field_for_parent]) || Parent.create(...).id

那将是我有根据的猜测...“(...)”将是您为新父母提供的论据

于 2011-03-28T14:00:35.927 回答