gpt4 book ai didi

ruby-on-rails - Ruby on Rails 分页 : Sort order not respected (will_paginate gem)

转载 作者:行者123 更新时间:2023-12-04 01:44:46 24 4
gpt4 key购买 nike

好的,我确定我的问题有一个简单的解决方案。这是我的 controller.rb代码:

@photos = Photo.paginate :page=>params[:page], :order => "date DESC", :per_page => 2

出于某种原因,我的排序顺序没有得到尊重。分页功能正常(例如每页的数量),但顺序根本不起作用。我尝试使用不同的值,如 ASCDESC以及不同的领域都无济于事。这是我先移动“订单”后的整个 Controller 功能:
def index
@photos = Photo.all
@photos = Photo.order("date DESC").paginate(:per_page => 12, :page => params[:page])
respond_to do |format|
format.html # index.html.erb
format.json { render :json => @gallery }
end
end

我以前在 Rails 1 中完美地工作过,但我无法用 will_paginate gem 解决这个问题。正如我所提到的, :per_page参数正在工作,所以我知道分页正在工作,我只是没有排序也没有错误。我将不胜感激任何帮助!

最佳答案

您有一个默认订单(通过 default_scope ),您无法使用 order() 覆盖该订单。方法,只附加更多的排序规则。您可以重置订单,但是:

@photos = Photo.reorder("date DESC").page(params[:page]).per_page(12)

顺便说一句,您需要删除 @photos = Photo.all从 Controller Action 。如果您正在获取一组分页的照片,那么首先从数据库中获取它们是没有意义的。

关于ruby-on-rails - Ruby on Rails 分页 : Sort order not respected (will_paginate gem),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15725313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com