我想使用find_or_create_by,但是這個語句不起作用。它不會與其他屬性「查找」或「創建」。如何在Rails 3中將多個屬性傳遞給find_or_create_by?
productproperty = ProductProperty.find_or_create_by_product_id(:product_id => product.id, :property_id => property.id, :value => d[descname])
似乎有很少或沒有對使用Rails中3動態查找器「和」信息一起-ing這些給了我一個未知的方法錯誤。
UPDATE:
本來我不能讓下面的工作。請假設我不是白癡,「產品」是產品AR模型的一個實例。
product.product_properties.find_or_create_by_property_id_and_value(:property_id => 1, :value => "X")
錯誤方法是:
no such keys: property_id, value
我不明白這一點。只有今天早上,我發現參考傳遞這樣的值,而不是:
product.product_properties.find_or_create_by_property_id_and_value(1, "X")
而且瞧,它工作正常。我本來會希望哈希能在相同的情況下工作,但我想不是。
所以我想你會得到一個投票,如果你錯過了互聯網上的東西?
通過「安定」他們你的意思是喜歡這裏描述的:?由多個屬性的Rails find_or_create(http://stackoverflow.com/questions/3046607/rails-find-or-create-by-more-高於一個屬性)? – Matt 2010-10-22 13:15:44
我試過這個,它工作正常。什麼不工作?你有錯誤嗎? 'productproperty'的價值是什麼?這裏的文檔在這裏:http://api.rubyonrails.org/classes/ActiveRecord/Base.html(基於動態屬性的發現者) – Mischa 2010-10-22 13:19:35