我想把时间从我发布到现在的那一刻开始。我在我的模型类中定义了一个方法:
class Post < ActiveRecord::Base
validates :comment , :presence => true
def time_past
DateTime.now - self.created_at
end
end
这是错误:
IRB(主):001:0&GT; Post.first.time_past
TypeError:预期的数字或日期
来自/usr/lib/ruby/1.8/date.rb:1252:in minus_without_duration'
from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.3/lib/active_support/core_ext/date/calculations.rb:98:in
- '
来自/home/badescuga/proiecte/soundplace/app/models/post.rb:5:in`time_past'
来自(irb):1
答案 0 :(得分:3)
尝试使用self.created_at,而不是#{created_at}
答案 1 :(得分:3)
您可以使用此方法实现此目的。
def time_since_creation
Time.now - created_at
end