私はパドリーノで働いていて、これをコントローラーに持っています
@work.find_by_id(params[:id])
ビューに前/次のボタンを追加したいので、リストの次の項目へのパスを取得できる必要があります。ActiveRecordでそれを行うにはどうすればよいですか?
私はパドリーノで働いていて、これをコントローラーに持っています
@work.find_by_id(params[:id])
ビューに前/次のボタンを追加したいので、リストの次の項目へのパスを取得できる必要があります。ActiveRecordでそれを行うにはどうすればよいですか?
ActsAsAdjacentプラグインをチェックアウトすることをお勧めします。Padrinoでプラグインを使用できるかどうかはわかりませんが、コードは非常に単純であり、ニーズに適応できるはずです。
次のように 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
そしてあなたはオフです。