【发布时间】:2013-12-20 17:18:57
【问题描述】:
在我看来,我在打电话
<% @posts.each do |post| %>
...
<%= post.published_on.to_date %>
...
<% end %>
“published_on”是我帖子数据库中的日期时间字段:
#schema.rb
t.datetime "published_on"
在我的控制器中,我使用“现在”方法进行设置:
def publish
...
@post.published_on=DateTime.now
...
end
end
当页面加载时,我收到以下错误:
undefined method `to_date' for nil:NilClass
但是,如果我在视图中删除 'to_date' 方法,页面加载正常,并且 published_on 字段将填充,例如,'2013-12-20 17:05:40 UTC'
我的问题是,为什么会出现此错误? 'to-date' 方法有效吗?
【问题讨论】:
-
你有什么问题?
-
已更新问题。
-
如果
published_on已经返回了有效的日期格式,请问您为什么要使用to_date?也许您的意思是使用strftime()? -
strftime() 可以解决问题,谢谢 :)
-
更新日期时间
@post.published_on=DateTime.now987654329@后你的记录是否保存在@post.published_on=DateTime.now
标签: ruby datetime activerecord ruby-on-rails-4