2016-07-07 53 views
0

我不明白为什么per_page限制对surf_school_reviews不起作用。它仍然显示所有的评论,尽管我设置:per_page限制(我只是将它设置为2,这样我就不必创建许多评论来测试它是否工作)。我相信我的所有关联和代码都是正确的,如下所示。但是,当will_page用于surf_schools时,我没有遇到任何问题。will_paginate的per_page限制不起作用

对不起,如果我的描述不清楚,所以你可以评论和澄清,以便我可以进一步向你解释。

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 
+0

@surf_school_reviews = SurfSchoolReview.where(:surf_school_id => @ surf_school.id).paginate(页:PARAMS [:页面],per_page:2)试试这个代码 – chaitanya

+0

我想你的代码,但它不工作。顺便说一下,我编辑我的帖子,并在routes.rb中添加我的代码,这可能会有所帮助。 – boholdyjeramae

+0

你可以检查,如果可能,你已经设置了'surf_school_reviews'的per_page属性 – oreoluwa

回答

0

你必须包括下面的代码在你的show.html:

<%= paginate @surf_school_reviews, param_name: 'page' %> 
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 %>