【发布时间】:2014-03-18 11:26:08
【问题描述】:
我想显示 last_request >= 1.day.ago 的第一批用户,然后添加其余用户
def self.default_scope
where("last_request >= ?", 1.day.ago) + where("last_request < ? OR last_request is null", 1.day.ago)
end
此代码引发了该错误:
undefined method `merge' for []:Array
我该怎么做?
更新
错误堆栈
NoMethodError - undefined method `merge' for #<Array:0xd16ba90>:
activerecord (3.2.13) lib/active_record/relation.rb:503:in `with_default_scope'
activerecord (3.2.13) lib/active_record/relation.rb:167:in `exec_queries'
activerecord (3.2.13) lib/active_record/relation.rb:160:in `block in to_a'
activerecord (3.2.13) lib/active_record/explain.rb:34:in `logging_query_plan'
activerecord (3.2.13) lib/active_record/relation.rb:159:in `to_a'
will_paginate (3.0.5) lib/will_paginate/active_record.rb:127:in `block in to_a'
will_paginate (3.0.5) lib/will_paginate/collection.rb:96:in `create'
will_paginate (3.0.5) lib/will_paginate/active_record.rb:126:in `to_a'
更新2
我正在使用 rails_admin,日期时间字段排序无法正常工作
1)升序
2)按降序排列
【问题讨论】:
-
可以发布错误堆栈吗?
-
我已经编辑了我的答案。看看吧。
标签: ruby-on-rails ruby activerecord