有没有一种简单的方法可以在Rails View 中格式化DateTime
值的显示?
例如,如果我正在做类似的事情:
<%= text_field :my_object, :start_date %>
并且只想显示
:start_date
的Date部分(即,我想隐藏时间部分),有没有一种方法可以在 View 内部格式化:start_date
字符串,以便它将用于创建新的my_object
项和更新新的my_object
项?只是澄清一下:
在做
<%= text_field
:my_object,
:start_date,
:value => @my_object.start_date.strftime('%m/%d/%Y') %>
在对象已经存在时(即在项目更新时)可以很好地工作,但是,当创建一个新的项目时,由于start_date最初为nil,因此 View 将引发错误
while evaluating nil.strftime
最佳答案
这里有一些很好的建议,但是,在某些情况下,您确实希望文本字段日期采用特定的格式(例如,您正在与javascript日期选择器集成),并且要处理nil,我认为只是作了一些小调整现有方法将达到目的:
:value => (@object.start_date.blank? ? '' : @object.start_date.strftime('%m/%d/%Y'))
关于ruby-on-rails - 在Rails的文本框中格式化DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1422274/