当使用格式json进行渲染时,Rails会忽略格式

时间:2012-08-20 22:12:13

标签: ruby-on-rails will-paginate

我正在尝试在服务器上呈现will_paginate html,这样我就可以通过ajax移植整个寻呼机(以及其他一些数据)。

我已经能够使用

view_context.will_paginate(@posts)

在我的控制器中成功渲染寻呼机以进行ajax调用。

不幸的是,当我使用format.json运行时,我的所有链接都包含.json格式。

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

什么时候真的应该

/posts?page=1

想法?

1 个答案:

答案 0 :(得分:1)

如果你使用最新的will_paginate gem,那么你可以像这样创建一个自定义链接渲染器

#
# 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)

希望这有助于和快乐的编码