Juste une application d'enregistrement de données simple morte pour l'enregistrement & affichant des entrées de feuille de temps dans Rails 4. Après avoir réalisé que les entrées de temps enregistrées sont au début de 2 heures pour mon fuseau horaire , J'ai défini les valeurs config.time_zone et config.active_record.default_timezone sur 'Berlin' respectivement. Cependant, après ce hack, ActiveRecord commence à ajouter des données en millisecondes à la colonne sqlite-DB 'created_at', ce qui provoque l'erreur "méthode non définie` strftime 'pour nil: NilClass "pour mon affichage de création datetime. Voici comment mon avis mal semble:Rails 4. Méthode non définie `strftime 'pour nil: NilClass pour le champ created_at
<table>
<% @timesheets.each do |t| %>
<tr>
<td><%= t.user.name %></td>
<td><%= t.t_lines %> sor</td>
<td><%= t.t_time %> perc</td>
<td><%= t.created_at.strftime('%Y.%m.%d %H:%M') %></td>
</tr>
<% end %>
</table>
Y at-il un moyen d'arrêter les rails d'enregistrement de données de temps de précision, ou une autre solution? Merci d'avance!
L'enregistrement que vous essayez d'imprimer a-t-il sa colonne 'created_at' dans votre base de données? – bumpy
Oui, c'est le cas, via la migration automatique des timestamps de Rails. – Malvolio
Exécuter 'def nil.strftime; fin »au début et l'erreur disparaîtra. –