0

たくさんあるpostモデルがありcommentsます。これで、コメントへのリンクは実際にはそのようなURLになり/post/1?page=3#26ます。

私ができるようにしたいのは、呼び出しlink_to "foobar", @commentて正しいURLを生成させることです。コメントが掲載されているページを計算する方法はすでに知っているので@comment.page_num、正しい整数が返されると想定できます。

polymorphic_urlどういうわけかカスタマイズが必要になると思います。

簡単に実行できない場合は、ヘルパー関数が必要かもしれませんが、ブロックの受け渡しなど、できるlink_to_commentことはすべて実行できるようにしたいと思います。link_to

4

2 に答える 2

0

私はこのようなものがうまくいくと思います:

link_to "foobar", @post, href: "#{url_for(@post)}?page=#{@comment.page_num}"

これは、私がそれほど自信を持っていない仮定であるpage_numリターンを仮定していますが、そこからそれを理解できると思います。3#26

考えるべきもう1つのコメント。本当にクラスpage_numの重要な属性ですか?Commentこれはフォーマットの問題であり、おそらくの代わりにヘルパー関数に属しているように思われますModel。考えるべきことです。

お役に立てば幸いです。

于 2013-01-17T23:54:03.217 に答える
0

だから、これが私がやったことです。とてもシンプルですが、私が必要としていることを正確に実行します。私の元のスコープは野心的すぎたかもしれません。それを単純な愚かさを保つ古典的なケース。

module CommentsHelper

  def comment_page_url(comment)
    post_url(comment.post, page: comment.page_num, anchor: comment.id)
  end

end
于 2013-01-18T03:52:09.140 に答える