Bit*_*ise 3 ruby ruby-on-rails
我需要创建一种方法,将创建日期过去一年的日期呈现到表中。我已经尝试过标题中列出的行,但没有成功。我现在有一个表格,旁边列出了“加入日期”,我希望它显示“日期已过期”。自加入之日起一年。
例子:
class Subscriber < ActiveRecord::Base
validates :first_name, presence: true
validates :last_name, presence: true
validates :email, presence: true
validates :phone_number, presence: true
def date_joined
created_at.strftime("%-m/%-d/%-y")
end
def expiration_date
created_at.1.year.from_now
end
end
Run Code Online (Sandbox Code Playgroud)
我应该如何格式化该expiration_date方法。date_joined 工作正常。
您应该添加1.year到created_at时间对象:
def expiration_date
created_at + 1.year
end
Run Code Online (Sandbox Code Playgroud)
格式化:
def expiration_date
(created_at + 1.year).strftime("%-m/%-d/%-y")
end
Run Code Online (Sandbox Code Playgroud)
导轨控制台:
=> some_object.created_at
=> Wed, 12 Apr 2016 17:37:12 UTC +00:00
=> some_object.created_at + 1.year
=> Wed, 12 Apr 2017 17:37:12 UTC +00:00
=> (some_object.created_at + 1.year).strftime("%-m/%-d/%-y")
=> "4/12/17"
Run Code Online (Sandbox Code Playgroud)