Database 如何在ActiveRecord集中找到下一条记录?
我在帕德里诺工作,我的控制器里有这个Database 如何在ActiveRecord集中找到下一条记录?,database,activerecord,orm,padrino,Database,Activerecord,Orm,Padrino,我在帕德里诺工作,我的控制器里有这个 @work.find_by_id(params[:id]) 我想在视图中添加prev/next按钮,因此必须能够获取列表中下一项的路径。如何使用ActiveRecord完成此操作?您可能需要签出。我不确定您是否可以将插件与Padrino一起使用,但代码非常简单,应该能够适应您的需要。我使用了以前的Nextable模块,如下所示: module PreviousNextable def self.included(klass) klass
@work.find_by_id(params[:id])
我想在视图中添加prev/next按钮,因此必须能够获取列表中下一项的路径。如何使用ActiveRecord完成此操作?您可能需要签出。我不确定您是否可以将插件与Padrino一起使用,但代码非常简单,应该能够适应您的需要。我使用了以前的Nextable模块,如下所示:
module PreviousNextable
def self.included(klass)
klass.class_eval do
extend ActiveSupport::Memoizable
memoize :previous
memoize :next
end
end
def previous
self.class.last :order => 'name', :conditions => ['name < ?', self.name]
end
def next
self.class.first :order => 'name', :conditions => ['name > ?', self.name]
end
end
此代码根据Ryan Bates给出的SO答案改编。您确定上一个或下一个的顺序和条件可能会有所不同。可能您会想使用“created_at”
将模块包括在模型类中:
class Place < ActiveRecord::Base
include PreviousNextable
你走了