【发布时间】:2013-05-16 23:01:30
【问题描述】:
我做错了什么,从这个命令给了我一个空白数组?
Item.where(:load_date => Date.today + 2)
这是我的 Rails 控制台:
.9.3-p194 :024 > Item.first.load_date
Item Load (0.3ms) SELECT "items".* FROM "items" LIMIT 1
=> Fri, 24 May 2013
1.9.3-p194 :025 > Item.where(:load_date => Date.today + 2)
Item Load (0.5ms) SELECT "items".* FROM "items" WHERE "items"."load_date" = '2013-05-24'
=> []
1.9.3-p194 :026 > Item.first.load_date == Date.today + 2
Item Load (0.3ms) SELECT "items".* FROM "items" LIMIT 1
=> true
物品型号:
...
# load_date :date
...
class Item < ActiveRecord::Base
attr_accessible :bt_num, :dept, :formula, :item_code, :load_date, :prod_comments, :qc_comments, :qc_tech, :qty_in_kg, :qty_in_liters, :rm_ok_by, :series, :status, :time_to_produce, :vat
...
【问题讨论】:
-
数据库中
load_date的值是多少? -
你的数据库是什么?我已经在 mysql 上进行了测试,它有效
-
数据库是 sqlite3。 Item.first.load_date == Fri, 24, May 2013 and class is 'Date'
-
这不是数据库,我在 Postgres、Mysql 和 Sqlite 上测试过,效果很好。也许它与时区有关?试试
Item.where(:load_date => Date.today + 1)和Item.where(:load_date => Date.today + 3)看看还是不行
标签: ruby-on-rails