2

我猜我需要创建一个辅助方法来实现这一点,但基本上我想distance_of_time_in_words_to_now用来显示datetime字段数据和现在之间的时间,但用更具体的词。例如,如果是 3 天,则应该说“3 天内”。如果是明天,它应该说“明天”(没有“在”这个词)。

我目前拥有的是:

<%= distance_of_time_in_words_to_now(interaction.action_date) %>

这里有正确方向的任何点吗?谢谢!

4

2 回答 2

0

如果您查看此方法的来源(http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-distance_of_time_in_words),您将看到它使用本地化。天数的关键是 :x_days,因此在您的 en.yml 文件中,您可以使用 :count 覆盖它,如下所示:

en:
  x_days: "in %{count} days"

现在对于“明天”,我将创建一个帮助器,它要么返回您的自定义响应,要么回退到 distance_of_time_in_words,如下所示:

def custom_distance_of_time_in_words_to_now(time)
  return "tomorrow" if time.tomorrow? #however you decide to check
  distance_of_time_in_words_to_now(time)
end
于 2013-05-16T15:26:13.910 回答
-1

您可能必须添加“天”一词,但您可以从以下内容中获得休息

Time.now.strftime("%d") #for today's date that will give you 16

在>> irb中查看以下内容,它可以提供您想要的

Time.now.strftime("%d")+ " days" # output => "16 days"
于 2013-05-16T15:27:12.157 回答