我将distance_of_time_in_words与扩展的gem dotiw一起使用,如下所示:
<%= distance_of_time_in_words(@client.report_missing_after.days, Date.today, false, except: ["hours","minutes"]) %>如果@client.report_missing_after等于7,上面的代码将像预期的那样返回"7天“。如果@client.report_missing_after等于1-28,则可以正常工作,但是,当我突然达到29时,输出如下所示:
87847649280000 years and 238878720000 days这是不正确的。
我不知道我在哪里做错了。帮助?
更新:
根据评论,我只是简单地尝试将第一个参数作为整数传递,但仍然不起作用:
<%= distance_of_time_in_words(29.days ,0, false, except: ["hours","minutes"]) %>发布于 2013-03-30 07:49:23
事实证明,如果您正确使用distance_of_time_in_words,我指的是使用时间戳而不是datetime对象,它会运行得更好。
这就是最终对我有效的方法:
<%= distance_of_time_in_words(Time.now, Time.now+29.days, false, except ["hours","minutes"]) %>发布于 2013-03-16 19:40:04
你有没有尝试过显式地传入天数?
29.days
var.dayshttps://stackoverflow.com/questions/15446016
复制相似问题