4

我有一个模型问题,其字段为“question_id”、“elapsed_time”、“allowed_time”和“status”,还有一个名为 Reporting 的控制器,它接收包含问题的 JSON 并将其保存。(“question_id”与我的任何模型都不相关)

到目前为止没有问题。直到我尝试运行一些测试。当 Rails 尝试加载我的问题的夹具时出现错误: ActiveRecord::StatementInvalid: SQLite3::ConstraintException: questions.created_at may not be NULL: INSERT INTO "questions"

这是我的固定装置:

one:
  id: 1
  question_id: MyString
  app: MyString
  guid: 1
  status: 1
  elapsed_time: 1
  allowed_time: 1

和我的模型:

class CreateQuestions < ActiveRecord::Migration
  def change
    create_table :questions do |t|
      t.string :app
      t.integer :guid
      t.string :question_id
      t.integer :elapsed_time
      t.integer :allowed_time
      t.datetime :happened_at
      t.integer :status

      t.timestamps
    end
  end
end

任何想法 ?

4

2 回答 2

2

https://stackoverflow.com/a/4350202/978525中所述,您可以将以下内容添加到您的夹具对象中:

objectA:
  foo: something
  created_at: <%= 5.day.ago.to_s(:db) %>
  updated_at: <%= 5.day.ago.to_s(:db) %>
于 2013-07-05T01:42:39.410 回答
1

我的模特的名字是复数形式。将其更改为单数,rails 将生成时间戳。

查看 rails 如何生成时间戳:https ://github.com/rails/rails/blob/master/activerecord/lib/active_record/fixtures.rb#L560

于 2013-05-15T08:45:07.910 回答