我在ActiveAdmin中有一個名爲events的表。是否可以在字段中設置的當前日期到期日期之後創建操作?
有一個叫做eventdate的字段,在這裏有一個事件的日期。
我期待能夠有一個動作,噹噹前日期超過事件日期時,表格會在名爲「事件結束」的選擇框中自動選擇。這基本上說這個事件已經過期。
這是可能的還是有沒有一個創業板已經爲ActiveAdmin做到這一點?
對不起,這是一個基本的問題,但這是我得到的。
乾杯
我在ActiveAdmin中有一個名爲events的表。是否可以在字段中設置的當前日期到期日期之後創建操作?
有一個叫做eventdate的字段,在這裏有一個事件的日期。
我期待能夠有一個動作,噹噹前日期超過事件日期時,表格會在名爲「事件結束」的選擇框中自動選擇。這基本上說這個事件已經過期。
這是可能的還是有沒有一個創業板已經爲ActiveAdmin做到這一點?
對不起,這是一個基本的問題,但這是我得到的。
乾杯
我會定義定義你的事件模型兩件事情:expired
範圍,expired?
方法:
class Event < AR::Base
scope :expired, -> { where('eventdate < ?', Date.today) }
def expired?
eventdate < Date.today
end
end
要列出所有過期事件,你可以簡單地調用:
Event.expired
如果您列出了所有事件並希望爲過期的事件添加一些自定義邏輯,則可以將此邏輯封裝在if event.expired?
中。
你或許也應該逆範圍以及:
scope :not_expired, -> { where.not('eventdate < ?', Date,today) }
很好,現在就去看看吧,那我怎麼才能比較date.today和現場事件的日期呢? ps是'Date,today'意思是'Date.today'? –
@Mdunbavan - 是的,這是一個錯字。我不確定我是否理解你的問題 - 你已經有了一個方法來比較這些值。 – BroiSatse
是的,屬性的名字是'eventdate',在這個例子中'date'意思是屬性的名字? –
能不能請你解釋它稍微好一點。 「做一個動作」意味着什麼? - 控制器行爲? 'selectbox' - 下拉菜單? '桌子得到一個自動選擇' - 什麼桌子?數據庫表,表中的視圖,其他? – BroiSatse
嗨BroiSatse,對不起,是在activeadmin本身的表視圖。真的很糟糕的解釋。當我說動作時,我的意思是讓事件使選擇框'event_type'具有「結束」自動選擇或過期的方式。 –
此選擇框中是否有其他選項?爲什麼你想給用戶一個改變它的機會?這裏的標籤不會更好嗎? – BroiSatse