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

Mik*_*ord 2 ruby ruby-on-rails date view

有没有一种快速方法可以对以下代码进行规范化?

<%= time_tag(Date.today, :format=>'%A %d %b') %>
Run Code Online (Sandbox Code Playgroud)

当前输出读取

Tuesday 18 Feb
Run Code Online (Sandbox Code Playgroud)

我想将日期显示为ordinalize

Tuesday 18th Feb
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Pav*_*van 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"
Run Code Online (Sandbox Code Playgroud)