我在seeds.rb
文件中运行以下代码。
page = BlocksEditor::Page.create(name: "A Page")
当我尝试在控制器中运行相同的代码时。我得到一个验证错误,说多态关联是空的,这是真的。我在运行种子时注销了page
,并且type和id字段按预期为空。 page.valid?
返回true。
为什么种子文件中的验证失败?更好的是,我如何定义可选的多态关联?我知道我想要田地,但我知道他们有时候不会被填满。
答案 0 :(得分:1)
显然,Rails 5 makes the belongs_to association mandatory。使用optional: true
将其设为可选。我仍然不知道种子文件为什么会给出与控制器不同的行为,但这解决了这个问题。