Ruby on rails 3 &引用;雷克流产了!未知属性:日期";运行rake db:seed时

Ruby on rails 3 &引用;雷克流产了!未知属性:日期";运行rake db:seed时,ruby-on-rails-3,Ruby On Rails 3,雷克流产了! 未知属性:日期 我终于能够迁移我的数据库内容,但遇到了这个不幸的错误 是因为日期属性比实际的新数据库旧还是其他原因?日期在我的模型中没有明确定义,但很明显,数据以前在旧数据库中,def没有手动输入。我认为t.timestamp负责初始化,所以我想问题是为什么我不能进入我的数据库?有什么想法吗 我的种子文件如下所示: Indication.create([ { :name => "general", :date => "2012-11-09 17:36:25" },

雷克流产了! 未知属性:日期

我终于能够迁移我的数据库内容,但遇到了这个不幸的错误

是因为日期属性比实际的新数据库旧还是其他原因?日期在我的模型中没有明确定义,但很明显,数据以前在旧数据库中,def没有手动输入。我认为t.timestamp负责初始化,所以我想问题是为什么我不能进入我的数据库?有什么想法吗

我的种子文件如下所示:

Indication.create([
  { :name => "general", :date => "2012-11-09 17:36:25" },

看起来您的
指示
型号没有
日期
字段。您需要添加一个吗?

因此,如果有人遇到相同的问题,我的解决方案如下:

My seed:dump提取了本例中的数据“2012-11-09 17:36:25”,并为其分配了变量“date”。虽然我仍然不确定为什么会发生这种情况,但它与t.timestamp命令有关

t、 时间戳创建2个变量:

  • 创建于
  • 更新地址
  • 侧文件将2012-11-09 17:36:25作为“日期”变量,这是基于格式的合理猜测,但对于Rails应用程序标准来说是错误的。我的表只有两个datetime格式的变量,就是我上面提到的变量

    我打开种子文件,替换了所有的“:date”for“:created_at”,解决了这个问题。updated_at然后自动获取该值(updated at未从我的旧数据库传输到此新数据库)


    创建的_作为数据传输,并且是正确的。updated_at在所有数据中获取了相同的值(我注意到是日期和时间,并执行了rake db:seed:load命令。

    指示模型上是date db列还是使用timestamp?始终可以使用time.now而不是字符串。