我想就如何以最佳方式做到这一点提出一些建议:
我有一个处理评论的Rails应用程序。每个评论都属于上下文,例如论坛主题或图像。上下文引用是多态的。
我有部分显示注释,并且该部分还包含编辑或删除它的链接。链接使用“edit_comment_path(the_comment)”和“comment_path(the_comment)”等生成。
现在,我希望在这些链接中包含上下文:而不是指向“/ comments / 38”的链接,我希望他们链接到“/ images / 5 / comments / 38”和“/ topics” / 3 / comments / 63“......
评论仅嵌套在一个级别中,因此例如永远不会有“/ forums / 18 / topics / 17 / comments / 74”链接。
应用程序应该有足够的信息来生成这些链接。但是最好的方法是什么?
答案 0 :(得分:1)
我认为您正在寻找的是polymorphic_path
助手。假设您在视图中有正确关联的实例,则可以创建路径,如以下示例所示:
edit_polymorphic_path([@image, the_comment]) # => /images/5/comments/38/edit
polymorphic_path([@topic, the_comment]) # => /topics/3/comments/63
这些规格可以任意嵌套。有关详情,请参阅here。