我分页数组@items
为什么will_paginate显示第一页后的项目? (这是空过去页面1)
这里的相关负责人部分
class StaticPagesController < ApplicationController
def home
if signed_in?
@post = current_user.microposts.build
@activities = PublicActivity::Activity.order("created_at desc").paginate(page: params[:page])
@feed_items = current_user.feed.paginate(page: params[:page])
@items = (@feed_items + @activities)
@items.sort_by! {|item| -item.created_at.to_i}
@items = @items.paginate(:page => 1, :per_page => 10)
else
redirect_to '/signin'
end
end
基本上,这是我使用的线。
@items = @items.paginate(:page => 1, :per_page => 10)
我也试图改变,为下面的代码,但没有奏效。
@items = @items.paginate(page: params[:page], :per_page => 10)
里面initializers\will_paginate_array_fix.rb
我这行
require 'will_paginate/array'
在我看来,我用这
<%= render partial: 'shared/item', collection: @items %>
<%= will_paginate @items %>
这似乎为第一页正常工作,但是当我点击在第2页或第3页或其他页面上,我得到一个空白。它是空的。任何人都知道我可以解决这个问题?
我试了一下,你这个线内提到'@items = @ items.paginate(:页面=> PARAMS [ :page] .to_i,:per_page => 10)',但是这给了我一个'RangeError in StaticPagesController#home'' invalid page:0' error – user2159586 2013-05-05 07:26:26
我试过这个'@items = @ items.paginate(:page => params [:page] .to_i || = 2,:per_page => 10)'但我得到相同的错误 – user2159586 2013-05-05 07:31:07
我明白了。我更新为该'PARAMS [:页] || =“2''然后低于 '@items = @ items.paginate(:页=> PARAMS [:页] .to_i,:per_page => 10)'。发生了什么事情是,当我打开页面时,它自动进入分页的第二页,它工作。但是,进入第1页并再次点击第2页后,它显示为空 – user2159586 2013-05-05 07:39:35