【发布时间】:2016-04-03 08:40:28
【问题描述】:
变量var 是boolean,不应为空。因此,在我的模型文件中,我有:
validates_inclusion_of :var, :in => [true, false]
validates :var, presence: true
在我的种子文件中,我有:
title = "abc"
var = [true, false].sample
author.articles.create!( title: title,
var: var)
播种产生错误:
ActiveRecord::RecordInvalid: Validation failed: Var can't be blank
有谁明白为什么要创建一个带有空白 var 的文章?
更新:使用debugger,我可以确认 var 的值为 1。
文章架构:
create_table "articles", force: :cascade do |t|
t.integer "author_id"
t.string "title", limit: 50, null: false
t.boolean "var", default: true, null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
【问题讨论】:
-
我也试过
var = [0, 1].sample,但这并没有什么不同。我在种子的其他位置也使用.sample,没有问题。
标签: ruby-on-rails ruby ruby-on-rails-4 seeding