在ActiveRecord中查找最新的对象

ala*_*dey 4 activerecord ruby-on-rails

简单的问题:我需要帮助编写一个ActiveRecord find_all_by语句,我想从最新创建的对象到最旧的对象.

作为这个问题的后续内容:如果我将结果保存到变量@records中.那么我如何要求下一个记录呢?我想做点什么@current_record = @records.next

Ste*_*eet 6

此代码将执行您的初始查询

 @records = Model.find_all_by_column('value', :order => 'created_at DESC')
Run Code Online (Sandbox Code Playgroud)

关于你的跟进.如果要迭代返回的数组,则可以执行以下操作

 @records.each do |record|
  # Code to do something
 end
Run Code Online (Sandbox Code Playgroud)

在迭代器中,您可以在看到特定记录时设置标志,然后对迭代器中的下一条记录执行某些操作.

如果你想检查finder返回的数组中是否有任何记录,那么你可以检查@ records.length