0

我有一个带有datetime字段的表格。由于 Rails 3.2.13 还不支持type="datetime-local" input字段(而且我还没有准备好迁移到 4.0 beta),所以我手动执行此操作:

<input type="datetime-local" name="person[my_date_time]"<% if @person.my_date_time %> value="<%=@person.my_date_time.strftime('%FT%T')%>"<% end %>/>

nil问题是 @person.my_date_time 如果它在数据库中,它将是当前日期/时间。它也以秒为单位输出,这破坏了 Chrome 对日期时间的处理。nil如果它在数据库中,我希望该字段为空。我怎么知道?Rails 的datetime_select方法以我想要的方式处理它。

4

1 回答 1

1

如果 datetime 字段nil在数据库中,则应用程序中的某些内容必须更改或覆盖该值。也许您在某处有默认设置?如果没有看到比现在发布的更多的代码,就不可能说出发生了什么。您可以为您的Person模型和任何其他相关代码(任何可能影响事物的宝石等)发布代码吗?

strftime("%FT%R")  # Will output without seconds, e.g. "2013-04-18T21:43"

http://www.ruby-doc.org/core-1.9.3/Time.html#method-i-strftime

于 2013-04-18T14:36:44.767 回答