这发生在 Sqlite 上。我可能遗漏了一些东西,但我无法弄清楚到底是什么。
控制台输出
>> date = Task.first.date
=> Tue, 16 Aug 2011
>> Task.find(:all, :conditions => {:date => date})
=> []
>> Task.find(:all, :conditions => ['date = ?', date])
=> []
>> Task.find(:all, :conditions => ['date IS ?', date])
=> []
架构
create_table "tasks", :force => true do |t|
t.date "date"
end
最佳答案
这不是一个完整的答案,但希望能让您放心,因为您的语法是正确的
我开发了一个快速应用程序来测试这个和你所有的检索方法。这也是使用 SQLite 数据库,没有错误。
t = Task.create
=> #<Task id: 1, date: nil, created_at: "2011-08-23 14:32:27", updated_at: "2011-08-23 14:32:27">
t.date = "Tue, 16 Aug 2011"
=> "Tue, 16 Aug 2011"
t.save
date = Task.last.date
=> Tue, 16 Aug 2011
Task.find(:all, :conditions => {:date => date})
=> [#<Task id: 1, date: "2011-08-16">]
Task.find(:all, :conditions => ['date = ?', date])
=> [#<Task id: 1, date: "2011-08-16">]
Task.find(:all, :conditions => ['date IS ?', date])
=> [#<Task id: 1, date: "2011-08-16">]
我的 schema.rb:
create_table "tasks", :force => true do |t|
t.date "date"
end
关于ruby-on-rails - 在 Rails 控制台中按日期查找记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7162649/