我想比較rails中應用的日期。我試過這個鏈接Comparing dates in rails。但是,這不是我想要什麼,假設我有根據日期過濾器,然後我做Ruby on Rails - 日期比較
<% jobs = @user.jobs.where(:curr_date => (Date.today))%>
這裏,curr_date是我選擇了「日期」的屬性。
此代碼適用於具有今天日期的條目,但如果我希望所有條目都具有今天和一週之前的日期,我該怎麼辦?
Thanx! :)
我想比較rails中應用的日期。我試過這個鏈接Comparing dates in rails。但是,這不是我想要什麼,假設我有根據日期過濾器,然後我做Ruby on Rails - 日期比較
<% jobs = @user.jobs.where(:curr_date => (Date.today))%>
這裏,curr_date是我選擇了「日期」的屬性。
此代碼適用於具有今天日期的條目,但如果我希望所有條目都具有今天和一週之前的日期,我該怎麼辦?
Thanx! :)
我覺得這樣的事情應該工作:
<% jobs = @user.jobs.where(['curr_date < ? AND curr_date > ?', Date.today, 1.week.ago])) %>
您可以簡單地使用
jobs = @user.jobs.where(:curr_date => (DateTime.now..1.week.ago))
更新到DateTime.now
,或者您也可以使用Date.today.to_time
否則會出現一個錯誤比較一個Date
和一個Time
還沒有嘗試這種在一個控制檯,但我認爲它應該工作:
# You need to implement the #week_before method
@user.jobs.where(:curr_date => (Date.week_before..Date.today))
Active Record Querying - Array Conditions檢查範圍條件(2.2.2)
'IN'不是有效的語法,應該是'=>' – deefour 2012-07-10 11:40:17
comparison_date_1下< => comparison_date_2可能是有益的給你返回-1,1 ,0因此,你可以填充它們......
我認爲代碼有小錯誤。它應該['curr_date <=? AND curr_date> =?',Date.today,1.week.ago] – 2012-07-10 11:42:41
嗯,問題是它是打開或關閉間隔:) – ABrukish 2012-07-10 13:47:13