8

私は Ruby on Rails を初めて使用し、会社の Web サイトでいくつかのバグを修正しようとしながら学習しています。特定のアンカーと組み合わせたレコードのコレクションをページ分割しようとしています。つまり、ユーザーが次/前のページをクリックすると、ページ分割が行われ、ユーザーがページの特定のセクションに移動します。これは私のコードが現時点でどのように見えるかです:

見る

<%= page_navigation_links @student_logs, :page %></p>

コントローラ:

@student_logs.paginate(:page => params[:page], :per_page => 10)

application_helper

def page_navigation_links(pages, param_name=:page)

  will_paginate(pages, :class => 'pagination', :inner_window => 2, :outer_window => 0, :renderer => BootstrapHelper::LinkRenderer, :previous_label => '&larr;'.html_safe, :next_label => '&rarr;'.html_safe, :param_name => param_name)

end

これは私のページネーションでは問題なく機能しますが、ユーザーが別のページに移動したときにブラウザーがユーザーを ID: "student_logs" の見出しに移動するように、学生ログなどの「アンカー ID」への参照をこのコードに合わせる必要があります。 "。

これを行う方法がわかりません。誰でも助けることができますか?

4

1 に答える 1

8

私はそれを直接経験していません。ただし、このリンクは方法を示しています。私はテストできませんでしたが、確かにできます。

<%= will_paginate @posts, :params => {:anchor => i} %>

これが機能する場合は、ヘルパーでこの方法を利用できます。

def page_navigation_links(pages, param_name=:page)
  will_paginate(pages, :params => {:anchor => "#ANCHOR"}, :class => 'pagination', :inner_window => 2, :outer_window => 0, :renderer => BootstrapHelper::LinkRenderer, :previous_label => '&larr;'.html_safe, :next_label => '&rarr;'.html_safe, :param_name => param_name)
end

必要に応じて交換でき#ANCHORます。

于 2012-10-29T12:50:47.100 に答える