Rails有基本的REST操作create/update/show/destroy,但是如果我想創建或更新現有記錄的操作,我應該爲此創建自定義操作?我應該爲create_or_update操作使用什麼操作
我知道rails有first_or_initialize
,但它似乎不符合創建或更新的定義。
在我的理解create
應該創造一個新的記錄,而不是更新現有的和update
應該更新,而不是創建一個新的。
下面是一個例子:
我有模型Blog
,Tag
和連接表Blog_Tags
其參考blog_id
,tag_id
和user_id
記錄誰提出這個標籤這個博客帖子。
[Blog]>-[Blog_Tag]-<[Tag]
|
[User]
我認爲
我在這個例子中新的思維行動PUT
create_or_update
和路線會和我有路線blog/[blog_id]/tag/[tag_id_to_add]/create_or_update
。不知道這是否正確。
不。不要嘗試添加自己的方法。不要做奇怪的事情,以避免多個請求。另外,PUT可能是你想要的。它將在給定的URI處創建資源,或者更新(替換)該URI處的現有資源。 – thecoshman