我有两条路线:
/votes/:id/upvote
/votes/:id/downvote
votes
控制器将处理不同的votable
模型。
我想做的是让upvote_path(@model)
成为/votes/"model_class"_"model_id"/upvote
这可以通过覆盖特定模型中的to_param
来完成:
def to_param
"#{self.class.name.downcase}_#{self.id}"
end
但这意味着我必须对所有votable
模型执行此操作,此外我不希望其他路由受到影响。有任何想法吗?谢谢!
答案 0 :(得分:1)
添加到帮助程序代码:
def upvote_path(model)
"/votes/#{self.class.name.downcase}_#{self.id}/upvote"
end