我有一个Bill
带有嵌套模型的Customer
模型。该Customer
模型有一个电话号码,上面有唯一性验证。在创建账单时,我想根据电话号码获取现有记录,或者如果不存在则创建一个新记录。我应该怎么做RESTful
?
问问题
2635 次
4 回答
2
您将使用 find_or_create_by 方法,在您的情况下看起来像这样:
fetchedRecord = Bill.find_or_create_by_phone_number(customer.phone_number)
于 2010-01-06T19:56:53.183 回答
0
我将我的放在关联回调中before_add
于 2011-04-09T06:33:40.460 回答
0
这些答案似乎不是您要问的。
忘记 Rails,我的问题是,创建可能已经存在的资源的 RESTful 方式是什么?您是否应该 POST 到资源(列表)URL,然后如果资源已创建,则期望 HTTP 状态代码为 201,如果资源已存在,则期望 HTTP 状态代码为 200?
似乎这应该在某处的标准中说明。
顺便说一句,这就是我处理它的方式——使用状态码。
于 2010-02-25T02:36:10.430 回答
0
您可以查看 find_or_create 或 find_or_create_by 方法(它们是动态创建的)。我想,一点谷歌搜索应该能让你在剩下的路上到达那里。
于 2010-01-06T17:51:28.600 回答