我有一个带有名为 Task 的模型的 Rails 3.2.8 应用程序。在我的任务模型中,我有一个名为“complete_date”的日期时间属性。当我尝试在视图中查看我的 complete_date 时...
<%= @task.complete_date.strftime('%b %e, %Y') %>
我收到一条错误消息,提示“nil:NilClass 的未定义方法 `strftime'”。但是,complete_date 字段不为空。以下查询..
mysql> select count(*) from tasks where complete_date is null;
返回 0 行。我可以使用以下代码在同一视图中检索完整日期...
<% @task.attributes.each_pair do |name, value| %>
<% if name == "complete_date" %>
<%= value.strftime('%b %e, %Y') %>
<% end %>
<% end %>
这完美地工作,所以似乎问题仅在于使用点符号(@task.complete_date)访问属性。我已在我的任务模型中将“完成日期”列为 attr_accessible 和 attr_accessor。知道为什么在使用 @task.complete_date 引用 complete_date 字段时我总是得到 nil 吗?谢谢。