Object must be a Date, DateTime or Time object. nil given. Extracted source (around line #23): <td><%= localize(movie.release_date, format: :long) %></td> when I try to save with the blank date this error occurs, is there a strong textsolution where I can save without needing to fill it?EDIT:==========================================================================
3 Réponses :
Après avoir essayé d'enregistrer le film
et que cela a échoué, regardez l'erreur qui en résulte et affichez également les erreurs sur cet objet, par exemple
movie.errors.full_messages
Cela devrait donner vous en savoir plus sur les raisons de l’échec.
regarde, je mets des images maintenant, navigateur et terminal
Votre localize
déteste les valeurs nil
, alors ne lui en donnez pas une.
Hacky mais court:
<% unless movie.release_date.nil? %> <td><%= localize(movie.release_date, format: :long) %></td> <% end %>
Belle et longue:
<td><%= movie.release_date && localize(movie.release_date, format: :long) %></td>
Vous pouvez passer une valeur par défaut à localize
:
<td><%= localize(movie.release_date, format: :long, default: '-') %></td>
La valeur par défaut est renvoyée chaque fois que le premier argument est nil
.
Agréable. OP, cette réponse est meilleure que la mienne pour votre scénario.
gentil, merci Stefan! : D u et Amadan m'ont beaucoup aidé!