在我看来,我正在打电话
<% @posts.each do |post| %>
...
<%= post.published_on.to_date %>
...
<% end %>
“published_on”是我的帖子db:
中的日期时间字段#schema.rb
t.datetime "published_on"
在我的控制器中,我使用'now'方法设置它:
def publish
...
@post.published_on=DateTime.now
...
end
end
当页面加载时,我收到以下错误:
undefined method `to_date' for nil:NilClass
但是,如果我在视图中删除'to_date'方法,页面加载正常,并且publish_on字段填充有,例如,'2013-12-20 17:05:40 UTC'
我的问题是,为什么我会收到此错误? “迄今为止”的方法有效吗?
答案 0 :(得分:0)
您可能打算使用
<%= @post.published_on.to_date %>
请注意使用实例变量@post
而不是局部变量post
答案 1 :(得分:0)
多诺万回答了这个问题。数据已经采用日期格式,我试图做的是格式化,并且采用strftime()
的方法是适当的。