ruby-on-rails – 模拟seeds.rb中的时间戳
发布时间:2020-12-17 02:31:18 所属栏目:百科 来源:网络整理
导读:我想通过示例数据填充数据库,出于某种原因,我还想模拟created_at. 这是我的种子.rb: 9.downto(1) do |i| product = Product.new(price: 99.99) product.created_at = i.days.ago,product.save!end 在数据库中,rake db:seed的结果看起来像, —- 2012-03-03
我想通过示例数据填充数据库,出于某种原因,我还想模拟created_at.
这是我的种子.rb: 9.downto(1) do |i| product = Product.new(price: 99.99) product.created_at = i.days.ago,product.save! end 在数据库中,rake db:seed的结果看起来像, —- 2012-03-03 16:50:30.316886000 Z-1 当我需要的时候 2012-03-03 16:50:30.316886000 Z-1 如何在结果中避免这些—-符号? (db:sqlite3) 更新: before_save { self.created_at = self.created_at[0] } 然后,数据库中的值将是正确的(没有—-),但使用回调似乎不是一个好方法. 解决方法
问题是这一行:
product.created_at = i.days.ago, 你需要摆脱尾随的逗号,这就是为什么你最终得到了created_at的数组.修复此问题,您可以摆脱before_save回调. 编辑:你得到的原因—在那里是因为你正在使用的ORM正在尝试序列化数组并且它将它变成YAML. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |