我有一个名为Example
的模型accepts_nested_attributes_for NestedExample
。
当我创建新的Example
模型时,我也可以创建NestedExamples:
params = { :name => 'Example 1', :nested_example_attributes => { :name => 'Nested Example 1' } }
Example.find_or_create_by_name params
这一切都很好。但是,我不是每次都创建一个新的NestedExample
,我希望Rails在find_or_create_by_name
模型上执行NestedExample
,以便在上述情况下,如果已经有NestedModel
名称为Nested Example 1
的{1}}将使用,而不是NestedExample
具有相同名称的新实例。
我目前的结果:
params_1 = { :name => 'Example 1', :nested_example_attributes => { :name => 'Nested Example 1' } }
params_2 = { :name => 'Example 2', :nested_example_attributes => { :name => 'Nested Example 1' } }
example_1 = Example.find_or_create_by_name params_1
example_2 = Example.find_or_create_by_name params_2
puts example_1.nested_example.id == example_2.nested_example.id # Should be true