tôi có mô hình và phương pháp sau đây:Tại sao Date.yfter được tính là Date.today?
class UserPrice < ActiveRecord::Base
attr_accessible :price, :purchase_date,
def self.today
where(:purchase_date => Date.today)
end
def self.yesterday
where(:purchase_date => Date.yesterday)
end
Tại sao vào mẫu của tôi nếu tôi cung cấp cho lĩnh vực date_select tôi :purchase_date
1/4/2012 (yesterday
phương pháp) nó cũng đếm như hiện nay (today
phương pháp) và nếu tôi cung cấp cho nó 1/5/2012 (hôm nay) nó là nil?
P.S. Tôi đang sử dụng Rails 3.0.10
với PostgreSQL.
Cập nhật
Đây là giao diện điều khiển lợi nhuận của tôi:
$ rails console --s
Loading development environment in sandbox (Rails 3.0.10)
Any modifications you make will be rolled back on exit
irb(main):001:0> Date.today
=> Wed, 04 Jan 2012
irb(main):002:0> Time.now
=> 2012-01-04 21:28:07 -0500
irb(main):003:0> Time.zone.now
=> Thu, 05 Jan 2012 02:28:18 UTC +00:00
irb(main):004:0> Date.yesterday
=> Wed, 04 Jan 2012
irb(main):005:0>
Bây giờ yesterday
là hơi say lên, làm cho không có ý nghĩa ....
Câu trả lời cho [câu hỏi này] (http://stackoverflow.com/questions/2944018/rails- 3-timezone-error) có thể hữu ích. – holygeek
@holygeek Điểm tốt, tôi đã xem trong giao diện điều khiển nó nó trả lại vấn đề của tôi. – LearningRoR