我的post
模型有很多comments
。现在,评论链接实际上是一个类似于/post/1?page=3#26
的网址。
我希望能够做的是致电link_to "foobar", @comment
并让它生成正确的网址。我已经知道如何计算评论所在的页面,因此您可以假设@comment.page_num
将返回正确的整数。
我认为这需要以某种方式定制polymorphic_url
。
如果不能轻易完成,我可能需要辅助函数link_to_comment
,但我希望它能够完成link_to
可以做的所有事情,即传递块而不是。
答案 0 :(得分:0)
我认为这样的事情会起作用:
link_to "foobar", @post, href: "#{url_for(@post)}?page=#{@comment.page_num}"
这假设page_num
返回3#26
这是一个我并不十分自信的假设,但我认为你可以从那里弄明白。
还有一个需要考虑的评论。 page_num
真的是Comment
类的重要属性吗?在我看来,这是一个格式问题,可能属于辅助函数,而不是Model
。只是想一想。
我希望它有所帮助。
答案 1 :(得分:0)
所以这就是我最终做的事情。它非常简单但完全符合我的需要。我原来的范围可能过于雄心勃勃。经典案例保持简单愚蠢。
module CommentsHelper
def comment_page_url(comment)
post_url(comment.post, page: comment.page_num, anchor: comment.id)
end
end