我正在尝试创建一个index.html.erb文件,该文件将列出名为events的表中的记录。我正在尝试为特定日期选择记录。 starts_at是表中的日期时间字段。例如,我试图通过以下方式获取本周一的所有记录:
<% @events = Event.where('starts_at.to_date = ?', DateTime.now.beginning_of_week.to_date) each do |event| %>
但是,我不应该得到记录。
不喜欢的是每个陈述。
提前感谢您的帮助!
答案 0 :(得分:0)
我相信你错过了一个平等的条件符号。
<% @events = Event.where('starts_at.to_date = ?', DateTime.now.beginning_of_week.to_date) each do |event| %>
答案 1 :(得分:0)
您可以使用AREL。
@date = DateTime.now.beginning_of_week
@events = Event.where(starts_at: @date..@date.end_of_day)
这应该在你的控制器中。不建议在您的视图中进行数据库查询(不是非常MVC!)。
答案 2 :(得分:0)
Event.find(:all, :conditions => ["DATE(starts_at) = DATE(?)", DateTime.now.beginning_of_week])
或
Event.where("DATE(starts_at) = DATE(?)", DateTime.now.beginning_of_week)