我有以下迁移:
class CreateMothers < ActiveRecord::Migration[5.0]
def change
create_table :mothers do |t|
t.string :name
t.timestamps
end
end
end
和
class CreateSons < ActiveRecord::Migration[5.0]
def change
create_table :sons do |t|
t.string :name
t.references :mother
t.timestamps
end
end
end
每当我尝试将一个Son对象保存为mother_id字段为空时,我会收到错误:&#34;母亲必须存在&#34;
有没有办法在没有mother_id字段的情况下保存它?
答案 0 :(得分:2)
在您的Son
模型中,只需添加optional
参数即可使其正常工作:
class Son < ApplicationRecord
belongs_to :mother, optional: true
end
默认情况下,rails将其设置为true
,因此请改用false
,详细说明here