在嵌入式红宝石中进行序列化

时间:2014-02-18 10:46:49

标签: ruby-on-rails ruby date view

是否有快速方法可以对以下代码进行序列化?

<%= time_tag(Date.today, :format=>'%A %d %b') %>

当前输出读取

Tuesday 18 Feb

我想要显示日期以显示

Tuesday 18th Feb

有什么建议吗?

2 个答案:

答案 0 :(得分:5)

您可以使用Date::DATE_FORMATS添加新的自定义格式,使用Integer.ordinalize来获取日期序数:

Date::DATE_FORMATS[:month_ordinal] = lambda { |date| 
  date.strftime("%A #{date.day.ordinalize}, %B") 
}

>> Date.today.to_formatted_s(:month_ordinal)
=> "Tuesday 18th, Feb"

答案 1 :(得分:3)

使用#ordinalize写下如下:

<%= time_tag(Date.today, :format=>"%A #{Date.today.day.ordinalize} %b") %>