我有一个模型叫做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
,它将被使用,而不是一个新的实例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