Object must be a Date, DateTime or Time object. nil given.
Extracted source (around line #23):
<td><%= localize(movie.release_date, format: :long) %></td>
当我尝试使用空白日期保存此错误时,是否有一个强大的文本解决方案,我可以保存而无需填写它?
编辑:
==========================================================================
您可以将默认值传递给localize
:
<td><%= localize(movie.release_date, format: :long, default: '-') %></td>
只要第一个参数是nil
,就会返回默认值。
在您尝试保存movie
并且它失败后,查看生成的错误,并显示该对象上的错误,例如
movie.errors.full_messages
这应该会为您提供有关失败原因的更多详细信息。
你的localize
讨厌nil
值,所以不要给它一个。
Hacky但简短:
<td><%= movie.release_date && localize(movie.release_date, format: :long) %></td>
好又长:
<% unless movie.release_date.nil? %>
<td><%= localize(movie.release_date, format: :long) %></td>
<% end %>