我想使用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