用于录制的简单数据录制应用程序在Rails中显示时间表条目4.在认识到我的时区记录的时间条目提前2小时后,我已将config.time_zone和config.active_record.default_timezone值分别设置为“柏林”。
但是,在此hack之后,ActiveRecord开始向'created_at'sqlite-DB-column添加毫秒数据,因此为我的创建日期时间的显示抛出了“未定义的方法`strftime'为nil:NilClass”错误。 这就是我看病的样子:
<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>
有没有办法阻止铁轨记录精确时间数据或其他解决方案? 提前致谢!
答案 0 :(得分:4)
t.created_at.try(:strftime,'%Y.%m.%d %H:%M')
答案 1 :(得分:0)
在找到解决方案之前做了很多研究。我也尝试过完整的数据库重置而没有成功。 然后我找到了这个:
Rails 4 model returns always nil
application.rb中config.active_record.default_timezone的值不能设置为特定时区,而是设置为:local或:utc。
The result of debug :
console.log(diffs);
alert(diffs[0].comment_bapak); is =>
[]
TypeError: diffs[0] is undefined
此更改和另一个db:reset解决了问题。 感谢您的贡献。