will_paginate的per_page限制不起作用

时间:2016-07-07 11:28:07

标签: ruby-on-rails

我无法弄清楚为什么:per_page限制对surf_school_reviews不起作用。它仍然显示所有的评论,虽然我设置:per_page限制(我只是将其设置为2,这样我就不必创建很多评论只是为了测试它是否有效)。我相信我的所有关联和代码都是正确的,如下所示。但当will_page用于surf_schools时,我没有遇到任何问题。

如果我的描述不清楚,我很抱歉,所以您可以发表评论和澄清,以便我可以向您进一步解释。

  

surf_schools_controller.rb

def show
 @surf_school = SurfSchool.find(params[:id])
 @surf_school_reviews = @surf_school.surf_school_reviews.paginate(page: params[:page], per_page: 2)
end
  

surf_school.rb

belongs_to :user
has_many   :surf_school_reviews
  

surf_school_review.rb

belongs_to :surf_school
belongs_to :user
  

user.rb

has_many :surf_schools,        dependent: :destroy
has_many :surf_school_reviews, dependent: :destroy
  

的routes.rb

resources :surf_schools do
 resources :surf_school_reviews, except: [:index, :show]
end

2 个答案:

答案 0 :(得分:0)

您必须在show.html中包含以下代码:

<%= paginate @surf_school_reviews, param_name: 'page' %>

答案 1 :(得分:0)

在你的行动中尝试这样:

@surf_school_reviews = @surf_school.surf_school_reviews.paginate(:page => params[:page], :per_page => 2)

您必须在show.html.erb文件中使用这样的内容。 在div的末尾使用它。

<% unless @surf_school_reviews.blank? %>
    <%= will_paginate @surf_school_reviews,   renderer:BootstrapPagination::Rails %>
<% end %>