我想更改幻想列的rails(created_at,modified_at)的默认时间戳,而不是2010-09-03 14:52:46 UTC我想更改它到2010年9月10日下午02:52。或者至少可以这样解析。更改魔术列的时间戳(Rails)
现在,我知道我可以在视图中通过操纵变量来做到这一点,但是没有更多的“铁路方式”,我可以在模型中做到这一点,然后将其称为方法?
我想更改幻想列的rails(created_at,modified_at)的默认时间戳,而不是2010-09-03 14:52:46 UTC我想更改它到2010年9月10日下午02:52。或者至少可以这样解析。更改魔术列的时间戳(Rails)
现在,我知道我可以在视图中通过操纵变量来做到这一点,但是没有更多的“铁路方式”,我可以在模型中做到这一点,然后将其称为方法?
class YourModel < ActiveRecord::Base
def my_formated_date_time
created_at.strftime("%B %d, %Y at %I:%M %p")
end
end
或者您可以使用本地化格式。将此添加到您的config/locale/your_locale.yml
。恕我直言:这将是最有铁路的方式。
your_locale:
time:
formats:
default: "%B %d, %Y at %I:%M %p"
那么做到这一点
<%=l @your_model.created_at %>
<!-- short for: -->
<%= I18n.localize @your_model.created_at %>
修改created_at
日期没有问题,它会保留在您设置的位置,甚至可以在开始时覆盖它,但updated_at
或modified_at
可能会很棘手。每次保存模型时都会改变。如果你不想这种行为,约定建议切换到不同的名称。
如果您想调整日期的显示方式,您需要配置默认的格式化程序。
谢谢!这正是我所寻找的:-) – Gotjosh 2010-09-03 15:38:27