Ruby on rails “钢轨较短”;时间“过去”用“文字”表示;

Ruby on rails “钢轨较短”;时间“过去”用“文字”表示;,ruby-on-rails,time,Ruby On Rails,Time,在rails中,除了“time\u ago\u in\u words”之外,还有其他的时间计算方法吗??我只想用“h”几个小时“d”天“m”几个月。。。例如3d、4h或5m 我的代码现在 <%= time_ago_in_words(feed_item.created_at) %> ago. 以前。 组成此字符串的组件可以本地化,并且位于datetime.distance\u in\u words名称空间中 比如棍子 en: datetime: distance_in_w

在rails中,除了“time\u ago\u in\u words”之外,还有其他的时间计算方法吗??我只想用“h”几个小时“d”天“m”几个月。。。例如3d、4h或5m

我的代码现在

<%= time_ago_in_words(feed_item.created_at) %> ago.
以前。

组成此字符串的组件可以本地化,并且位于datetime.distance\u in\u words名称空间中

比如棍子

en:
  datetime:
    distance_in_words:
      x_minutes:
        one: "1m"
        other: "%{count}m"
铁路将用10米而不是10分钟。根据需要重复数小时、数秒、数天等。您可以在“操作”视图中查看所有键

如果您只需要短格式,那么可以创建一个只使用这些键的伪区域设置,并像这样使用它

time_ago_in_words created_at, false, :locale => :en_abbrev

这里有一些其他的方法。像普通方法一样运行该方法,然后对字符串使用

锁链

string.gsub(/ mi.*/, 'm')
      .gsub(/ h.*/, 'h')
      .gsub(/ d.*/, 'd')
      .gsub(/ mo.*/, 'mo')
      .gsub(/ y.*/, 'y')
散列

挡块

除了字符串
“小于一分钟”
时,它们都会执行相同的操作。链接解决方案返回
“少于一分钟”
。哈希解决方案返回
“less”
。块解决方案返回
“lesst”

只需更改此案例的区域设置文件

en:
  datetime:
    distance_in_words:
      less_than_x_minutes:
        one: '<1m'
en:
日期时间:
距离(大写):
少于十分钟:

第一条:“这是一个在Rails 5.2.x上对我有用的快速示例。Hanks,这个很好用。我看不到有记录在案。有没有其他官方的参考资料?
string.gsub(/ .+/) { |x| x[/mo/] ? 'mo' : x[1] }
en:
  datetime:
    distance_in_words:
      less_than_x_minutes:
        one: '<1m'
def my_method(string)
  return '<1m' if string == 'less than a minute'
  # code
end