是的,我已经多次阅读并完成了Google,但我仍然无法让这个工作......也许我是个白痴:)
我有一个使用门票的系统。开始日期是时间戳中的“created_at”。每张票在“created_at”后7天关闭。在模型中,我正在使用:
def closes
(self.created_at + 7.days)
end
我正在尝试创建另一种方法,该方法将“关闭”并将其返回为故障单关闭前剩余的天数,小时数,分钟数和秒数。有人想帮助和/或告诫我的技能吗? ;)
编辑:
理想情况下,我希望最终输出类似于“6d14h22s”之类的东西。
答案 0 :(得分:2)
使用distance_of_time_in_words
辅助方法:
class Ticket < ActiveRecord::Base
include ActionView::Helpers::DateHelper
def closes_in_words
distance_of_time_in_words(Time.now, self.closes)
end
end
答案 1 :(得分:1)
我不知道使用rails任意格式化持续时间的任何好方法,但你可以自己这样做:
def closes_in
minutes = (Time.now - closes).to_i / 60
days = minutes / (24*60)
minutes -= days * 24*60
hours = minutes / 60
minutes -= hours * 60
"#{days}d#{hours}h#{minutes}m"
end