我試圖通過未來事件對事件進行排序然後已經結束的事件。我嘗試使用2個不同的範圍,但我現在想我可能需要使用類方法。我只是在努力,在語法上,我需要寫這些方法。Rails 4:按2種不同的作用域/類方法排序
event.rb:
def active
self.event_date > Time.now
end
def inactive
self.event_date < Time.now
end
「活動日期」 是在事件表日期時間列。
events_controller.rb:
def index
@events = Event.all.sort_by {|a,b| [a.active, b.inactive]}
end
有了這個代碼,我得到一個錯誤:「未定義的方法`不活躍」的零:NilClass」,但我已經嘗試了幾種不同的方式,並能似乎不知道如何寫它。
爲什麼不EVENT_DATE公正的秩序? –
@ReubenMallaby,因爲我想按升序排列活動事件,然後是非活動事件。 – BB123
'sort_by'只爲其塊使用一個參數:'Event.all.sort_by {| event | event.active}'(可以簡化爲'Event.all.sort_by(&:active)' – MrYoshiji