Bea*_*red 4 activerecord ruby-on-rails
我最好使用像......这样的陈述.
current_user.workouts.find_by_created_at(Time.now.day)
但这不起作用,我猜是因为时间不匹配.我将继续阅读文档,但我想我会在阅读时发布这个问题以寻求帮助.
谢谢!
更新 使用新的Rails 3支持ARel和命名范围,我重构了查询...
模型
class Workout < ActiveRecord::Base
scope :from_today, where(" created_at between ? AND ?", Time.zone.now.beginning_of_day, Time.zone.now.end_of_day)
.
.
.
end
Run Code Online (Sandbox Code Playgroud)
调节器
def create
workouts = current_user.workouts.from_today
.
.
.
end
Run Code Online (Sandbox Code Playgroud)
如果您使用的是MySQL,则可以执行以下操作:
Rails 3:
current_user.workouts.where('DATE(created_at) = ?', Date.today)
Run Code Online (Sandbox Code Playgroud)
Rails 2:
current_user.workouts.find(:all, :conditions => ['DATE(created_at) = ?', Date.today])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4291 次 |
| 最近记录: |