【问题标题】:Rails distance_of_time_in_words_to_now optionsRails distance_of_time_in_words_to_now 选项
【发布时间】:2013-05-11 13:31:19
【问题描述】:

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

我现在只有:

<%= distance_of_time_in_words_to_now(interaction.action_date) %>

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

【问题讨论】:

标签: ruby-on-rails datetime helpermethods


【解决方案1】:

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

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

在 >> irb 中查看以下内容,它可以满足您的需求

Time.now.strftime("%d")+ " days" # output => "16 days"

【讨论】:

    【解决方案2】:

    如果您查看此方法的来源 (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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-29
      • 2011-02-21
      • 2013-09-25
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多