0

私はパドリーノで働いていて、これをコントローラーに持っています

@work.find_by_id(params[:id])

ビューに前/次のボタンを追加したいので、リストの次の項目へのパスを取得できる必要があります。ActiveRecordでそれを行うにはどうすればよいですか?

4

2 に答える 2

0

ActsAsAdjacentプラグインをチェックアウトすることをお勧めします。Padrinoでプラグインを使用できるかどうかはわかりませんが、コードは非常に単純であり、ニーズに適応できるはずです。

于 2010-10-08T13:58:43.777 に答える
0

次のように PreviousNextable モジュールを使用します。

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  

そしてあなたはオフです。

于 2012-01-05T21:15:16.240 に答える