簡體   English   中英

Rails列出特定日期的記錄

[英]Rails list records for a particular day

我正在嘗試創建一個index.html.erb文件,該文件將列出來自稱為事件的表中的記錄。 我正在嘗試選擇特定日期的記錄。 starts_at是表中的日期時間字段。 例如,我正在嘗試使用以下方法獲取本周星期一的所有記錄:

<% @events = Event.where('starts_at.to_date = ?', DateTime.now.beginning_of_week.to_date) each do |event| %>

但是,我什么時候都沒有得到記錄。

它不喜歡的一件事是每個語句。

先謝謝您的幫助!

我相信您缺少等號條件符號。

<% @events = Event.where('starts_at.to_date = ?', DateTime.now.beginning_of_week.to_date) each do |event| %>

您可以使用AREL。

@date = DateTime.now.beginning_of_week
@events = Event.where(starts_at: @date..@date.end_of_day)

那應該放在您的控制器中。 不建議在您的視圖中執行數據庫查詢(不是非常MVC!)。

Event.find(:all, :conditions => ["DATE(starts_at) = DATE(?)", DateTime.now.beginning_of_week])

要么

Event.where("DATE(starts_at) = DATE(?)", DateTime.now.beginning_of_week)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM