2009-08-24 28 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