Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何在ActiveRecord集中找到下一条记录?_Database_Activerecord_Orm_Padrino - Fatal编程技术网

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  
你走了