我是RoR的新手,所以不要对我可能说的可能的事情感到惊讶......对不起提前......
我正在尝试在两个模型“附录”和“合同”之间创建外键约束
ActiveRecord现在就像这样
class Addendum < ActiveRecord::Base
belongs_to :contract
end
class Contract < ActiveRecord::Base
has_many :addendums
end
所以,我需要该程序只允许创建一个新的附录,如果它将与现有合同相关联。我已经安装了gem 外国人并创建了这个迁移:
class AddingForeignKeys < ActiveRecord::Migration
def change
add_foreign_key(:contracts, :addendums)
end
end
运行 rake db:migrate
并期望在ActiveRecord :: Base上看到更改(表示外键约束)但不会发生更改
我做错了什么?
答案 0 :(得分:0)
只需在附录表中有一个contract_id列,创建关联(在您的情况下为has_many和belongs_to),并在附录模型中创建验证约束:
validates :contract, presence: true
希望帮助
费德里科