0

我正在尝试在输入记录之前搜索我的数据库,方法是:

Product.update_or_create_by_name_and_date_and_applicationURL_and_server_and_addi_servers(app_name, app_date,url_app,server_name,addi_servers)

问题是我得到一个未定义的方法异常!

是否有另一种方法可以在输入之前搜索相同的记录?

4

2 回答 2

2

您应该使用两个步骤:

#Suggestion 1
obj = Product.find_or_create_by_...


#Suggestion 2
obj = Product.find_or_initialize_by_...

obj.update_attributes hash_here

重读您的问题,如果您尝试查找具有已知属性的对象,我真的不明白您要更新什么。无论如何,如果某些字段用于识别而某些字段用于更新,您只需稍微调整我的答案即可。

于 2012-09-04T19:50:48.977 回答
0

我会在你的模型中定义一个函数:类似于

Product.find_by_everything

您在其中写出搜索的所有参数,而不是使用长命名方法。

然后,如果返回 nil,则创建产品。这似乎不是使用内置 activerecord 命名方法的好用例。

于 2012-09-04T20:47:01.270 回答