2009-08-24 40 views
1

Rails的輔助方法,當我做耙子的路線,我看到的helper方法只適用於某些REST行動爲我的用戶模型如new_user,edit_user這樣我就可以使用像new_user_path方法,edit_user_path等,但它們是不可用於更新或銷燬操作。爲了調用摧毀行動,我必須這樣做某些REST行動

link_to ‘Destroy’, user_path, :method => :delete 

任何人都知道爲什麼會出現這種情況?

回答

1

很簡單,因爲沒有必要。 http動詞和URI的組合應足以確定它是更新還是銷燬操作。 這裏是rails guide HTTP動詞和URI組合的列表,從中可以看到「更新」和「毀滅」共享相同的URI爲「秀」,唯一的區別是HTTP動詞。

GET /照片照片索引
顯示所有照片

GET /照片/新照片新的列表
返回一個HTML表單創建一個新的照片

POST /照片照片創建
創建新的照片

GET /照片/ 1照片顯示
顯示特定的照片

GET /照片/ 1 /編輯照片編輯
返回一個HTML表單編輯照片

PUT /照片/ 1張照片更新
更新特定的照片

DELETE /照片/ 1照片摧毀
刪除特定照片

+0

雖然'update'和'destroy'與'show'共享同一個URI,但出於一致性考慮,我認爲最好是匹配update和destroy輔助方法,它是我最初尋找的東西,直到我看到有關'更新'和'銷燬'的不同風格的方法調用的帖子後纔開始工作。 – Bob 2009-08-24 19:35:08