b.bind_at
=> Tue, 27 Oct 2009 15:00:33 GMT +00:00
Time.now > b.bind_at + 7.days
=> false
[color=red]>> Time.now -7.days > b.bind_at[/color]
ArgumentError: comparison of Fixnum with ActiveSupport::TimeWithZone failed
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/time_with_zone.rb:302:in>'
send'
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/duration.rb:93:in
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/duration.rb:93:inmethod_missing'
initialize'
from (irb):14
[color=red]>> (Time.now -7.days) > b.bind_at[/color]
ArgumentError: wrong number of arguments (1 for 0)
from (irb):11:in
from (irb):11:in `now'
from (irb):11
Time.now < b.bind_at + 7.days
=> true
这是什么情况?
为什么两处红色的代码会出错,谢谢解惑!
[b]问题补充:[/b]
[color=red]2.2.2[/color]
[b]问题补充:[/b]
mail ~/rails/my: ruby script/console
Loading development environment (Rails 2.2.2)
b=Blog.first.bind_at
=> Tue, 27 Oct 2009 15:00:33 GMT +00:00
Time.now > b
=> true
Time.now -7.days > b
ArgumentError: comparison of Fixnum with [color=red]ActiveSupport::TimeWithZone failed[/color]
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/time_with_zone.rb:302:in>'
send'
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/duration.rb:93:in
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/duration.rb:93:inmethod_missing'
initialize'
from (irb):4
(Time.now -7.days) > b
ArgumentError: wrong number of arguments (1 for 0)
from (irb):5:in
from (irb):5:in `now'
from (irb):5
[b]问题补充:[/b]
[color=red]>> b=Blog.first.bind_at.utc
=> Tue Oct 27 15:00:33 UTC 2009
Time.now -7.days > b
ArgumentError: comparison of Fixnum with Time failed
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/duration.rb:93:in>'
send'
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/duration.rb:93:in
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/duration.rb:93:inmethod_missing'
initialize'
from (irb):15[/color]
(Time.now -7.days) > b
ArgumentError: wrong number of arguments (1 for 0)
from (irb):16:in
from (irb):16:in `now'
from (irb):16
mail ~/rails/my: ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [x86_64-linux]