0

サーバー上でwill_paginatehtmlをレンダリングしようとしているので、ポケットベル全体(およびその他のデータ)をajax経由で移植できます。

使用できました

view_context.will_paginate(@posts)

ajax呼び出し用にコントローラーでページャーを正常にレンダリングします。

残念ながら、format.jsonを使用して実行すると、すべてのリンクに.json形式が含まれます。

/posts.json?page=1
/posts.json?page=2

彼らが本当にあるべきとき

/posts?page=1

アイデア?

4

1 に答える 1

1

最新のwill_paginategemを使用している場合は、次のようなカスタムリンクレンダラーを作成できます。

#
# lib/custom_link_renderer.rb
#
class CustomLinkRenderer < WillPaginate::ActionView::LinkRenderer
  protected
  def url(page)
    page = super.gsub(".json", "")
  end
end

application.rbにlibディレクトリを自動ロードしてください

config.autoload_paths += %W(#{config.root}/lib)

次に、そのようにポケットベルをレンダリングできます

view_context.will_paginate(@posts, renderer: CustomLinkRenderer)

これがお役に立てば幸いです。

于 2012-08-21T03:44:55.757 に答える