は、私はすでに終了しているイベントによって、将来の事象その後、で、私のイベントを並べ替えるしようとしています。私は2つの異なるスコープを使用してみましたが、クラスメソッドを代わりに使用する必要があると考えています。私は文法的にどのようにしてこれらのメソッドを書く必要があるかについて苦労しています。Railsの4:2異なるスコープ/クラスメソッドによってソート
event.rb:
def active
self.event_date > Time.now
end
def inactive
self.event_date < Time.now
end
"EVENT_DATEは、" イベントテーブルの日時]列です。
events_controller.rb:「ゼロのために「`アクティブで未定義のメソッド::NilClass」このコードの
def index
@events = Event.all.sort_by {|a,b| [a.active, b.inactive]}
end
は、私はエラーを取得していますが、私はそれにいくつかの異なる方法を試してみましたが、できましたそれを書く方法を理解しているようだ。
EVENT_DATEによってなぜだけではなく、オーダー? –
@ReubenMallaby私は非アクティブなイベントが続く昇順でアクティブなイベントで注文したいと思いますので。 – BB123
'sort_by'はブロックに対して1つの引数だけを使います:' Event.all.sort_by {| event | event.active} '(' Event.all.sort_by(&を簡略化することができた:「?」。これは@ilyaによって追加でトリックをしたアクティブ) ' – MrYoshiji