1

我有一个模型叫做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_nameNestedExample这样在上述情况下,如果已经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 
4

0 回答 0