Ruby on rails 使用json格式呈现时,Rails将忽略格式

Ruby on rails 使用json格式呈现时,Rails将忽略格式,ruby-on-rails,will-paginate,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 想法?如果您使用的是最新版本,那么您可以像这样创

我试图在服务器上呈现will_paginate html,这样我就可以通过ajax移植整个页面(和一些其他数据)

我已经能够使用

view_context.will_paginate(@posts)
在我的控制器中为ajax调用成功呈现寻呼机

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

/posts.json?page=1
/posts.json?page=2
当他们真的应该

/posts?page=1

想法?

如果您使用的是最新版本,那么您可以像这样创建自定义链接渲染器

#
# lib/custom_link_renderer.rb
#
class CustomLinkRenderer < WillPaginate::ActionView::LinkRenderer
  protected
  def url(page)
    page = super.gsub(".json", "")
  end
end
view_context.will_paginate(@posts, renderer: CustomLinkRenderer)
然后你可以像这样渲染你的寻呼机

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

希望这有助于愉快地编码

回想起来,我试图做的是一个糟糕的想法,但我可以确认这确实有效:D谢谢Digi_Cazter