【发布时间】:2012-09-15 14:06:10
【问题描述】:
我有一个相似的模型,记录哪个用户喜欢哪个记录。我使用了多态关联,因此用户可以喜欢许多模型。
目前我使用嵌套资源来处理喜欢。
POST /items/:item_id/likes
DELETE /items/:item_id/likes/:id
现在出于某些原因,我想通过设计更好的路线来摆脱like_id 的使用。这是因为缓存片段视图会更容易。
请注意,item 模型只是 likable 的少数模型之一,我希望尽可能避免代码重复。
有什么好的方法来设计既不使用like_id又允许在控制器中更好地重用代码的路由和控制器?
可能的实施
我在想这样的路线:
POST /items/:item_id/like
DELETE /items/:item_id/like
我不会使用嵌套的资源。相反,我在项目控制器中放置了一个 like 操作。它将确定请求是POST 还是DELETE 并采取相应措施。然而,这感觉并不干燥。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 rest routes