Object must be a Date, DateTime or Time object. nil given.
Extracted source (around line #23):
<td><%= localize(movie.release_date, format: :long) %></td>
当我尝试使用空白日期进行保存时,会出现此错误,是否有很强的textsolution可以在不填写的情况下进行保存?
编辑:
============================================= ============================
答案 0 :(得分:1)
尝试保存movie
后失败,请查看产生的错误,并在该对象上显示错误,例如
movie.errors.full_messages
这应该为您提供更多有关失败原因的详细信息。
答案 1 :(得分:1)
您的localize
讨厌nil
的值,所以不要给它一个。
轻松但简短:
<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 %>
答案 2 :(得分:1)
您可以将默认值传递给localize
:
<td><%= localize(movie.release_date, format: :long, default: '-') %></td>
只要第一个参数为nil
,就会返回默认值。