首页 > 解决方案 > Ruby on Rails 助手“distance_of_time_in_words”显示随机值

问题描述

我正在做来自 jumpstartlab.com 的名为 "Blogger2"的教程。有一部分他们建议为评论部分添加时间戳。

在评论显示中添加时间戳

我们应该添加一些关于发表评论的时间。Rails 有一个名为 > 的非常简洁的助手distance_of_time_in_words,它接受两个日期并创建一个文本描述它们的 > 差异,例如“32 分钟后”、“3 个月后”等等。

您可以_comment.html.erb像这样在部分中使用它:

<p>Posted <%= distance_of_time_in_words(comment.article.created_at, comment.created_at) %> later</p>

现在,当我在我的文章中添加评论时,这些时间戳在我看来只是一些随机值。添加评论后立即出现“大约 3 小时后发布”。知道如何解决吗?

带有少量随机时间戳的少量随机评论的图像。

谢谢!

标签: ruby-on-railsruby

解决方案


这是正确的。

如果文章是三小时前创建的,而您现在添加评论,则评论是“大约三小时后”……大约是文章创建三小时后。

如果您想知道从现在开始发表评论多久之前,您需要一个不同的助手,time_ago_in_words

Posted <%= time_ago_in_words(comment.created_at) %> ago.

推荐阅读