我使用Kaminari对我的Rails 3.2.0站点进行分页。我使用<% if !traveldeal.expired? %>对我的交易对象进行过滤,使其不显示在视图中,其中expired是一个布尔值。
我在索引操作的控制器中显示了每页9个traveldeals:
def index
@traveldeals = Traveldeal.order('created_at DESC').page(params[:page]).per(9)
end最初,分页效果很好,每页显示9个旅游交易。但是,当我从第一个页面手动设置为过期时,设置为过期的旅游交易不再显示在第一个页面上,但存在空白间隙,并且第二个页面中的元素不会向上移动。
唯一的其他相关信息是,我有以下代码片段来显示分页:
<%= paginate @traveldeals %>我的问题是:
如何才能使第2页中的元素在设置为过期时向上移动以填充第1页中的元素?
谢谢。
发布于 2012-05-07 03:43:46
由于kaminari不会知道视图中的条件,因此应该在查询过程中过滤掉过期的项目。假设您有一个布尔型expired列:
@traveldeals = Traveldeal.where(:expired => false).order('created_at DESC').page(params[:page]).per(9)https://stackoverflow.com/questions/10473650
复制相似问题