在处理某些记录时,我对输出进行了一些编辑,遇到了排序选项不再工作的问题。
最初,当我做@record.class时,输出是如何创建的
但是现在在我做了改变之后,班级已经改变了。所以现在当我运行Record::ActiveRecord_Relation < ActiveRecord::Relation时,输出是@record.class
我想这就是我遇到这个问题的根本原因。
我的代码是

@q = @records.search(params[:q])
@records = @q.result(distinct: true).select { |k,_v| k[:disabled] }
@records = @records.order("records.updated_at desc").page(params[:page] || 1).per(params[:per] || 30)

我得到的错误是#`
现在我试着通过
@records = @records.sort_by("records.updated_at desc")
@records = @records.paginate.page(params[:page] || 1).per(params[:per] || 30)

但是,我的解决方案的第一行的错误是Array < Object如果我的NoMethodError: undefined method解决方案有错误,我不能越过那一行。
如果有人能看一看,我将非常感谢!

最佳答案

您的@records是一个Ruby数组,而不是ActiveRecord“数组”
您可以尝试@records.sort_by(&:updated_at)对数组进行排序

关于ruby-on-rails - 替代在数组中使用“顺序”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42933092/

10-16 11:37