jer*_*ith 3 ruby activerecord ruby-on-rails
在执行查找后,ruby/rails是否可以对结果集进行排序?例如,是否可以做这样的事情
警告:不起作用
if type == 1
@items = mycompany.items
else
@items = myhome.items
end
@items = @items :order => "created_at"
Run Code Online (Sandbox Code Playgroud)
我会假设这样的事情应该是可能的,但我仍然是RoR的新手,似乎无法在谷歌上找到任何东西.
你应该可以做其中一个:
访问时排序:
if type == 1
@items = mycompany.items(:order => 'created_at')
else
@items = myhome.items(:order => 'created_at')
end
Run Code Online (Sandbox Code Playgroud)
访问后排序:
@items.sort{|a,b| a.created_at <=> b.created_at}
Run Code Online (Sandbox Code Playgroud)
你也可以使用Symbol
,以Proc
速记在轨可用,以及Enumerable#sort_by
简化你的那种说法,如果你想收集ActiveRecord对象后进行排序:
@items.sort_by(&:created_at)
# is the same as @items.sort{ |a, b| a.created_at <=> b.created_at }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4016 次 |
最近记录: |