快速的問題。如果我有一個模型,比如慈善機構,它具有start_date
和end_date
屬性,我如何將其設置爲控制器中的方法的current_charity
?基於時間的Rails實例變量?
我知道我必須做某種Charities.find(params[:something])
,並且將只需要設置current_charity
等於一個是start_date
爲> =當前的日期,以及是誰的end_date
是< =當前日期(只有一次一個「當前」)。我通常只是通過params [:id]找到一個模型,所以這對我來說是新的。
謝謝!
我喜歡Thilo的回答比我的好。但一定要寫很多單元測試!基於時間的邏輯非常棘手,很容易錯過邊緣情況。你可以用一個「模擬時鐘」測試時間 - 在RSpec中,你可以做一些類似'Time.stub!(:now).and_return {Time.parse(「2010-01-01 12:00」)}'來欺騙你的代碼認爲這是不同的一天。 – AlexChaffee