我是RoR的新手,所以不要对我可能说的话感到惊讶…
我试图在两个模型"附录"one_answers"合同"之间创建外键约束
ActiveRecord现在是这样的
class Addendum < ActiveRecord::Base
belongs_to :contract
end
class Contract < ActiveRecord::Base
has_many :addendums
end
所以,我需要程序只允许创建一个新的附录,如果它将与现有的合同相关联。我已经安装了gem foreigner并创建了这个迁移:
class AddingForeignKeys < ActiveRecord::Migration
def change
add_foreign_key(:contracts, :addendums)
end
end
run rake db:migrate
并期望看到ActiveRecord::Base上的更改(指示外键约束),但没有发生更改
我做错了什么?
在add附录表中有一个contract_id列就足够了,然后创建关联(在您的示例中是has_many和belongs_to),并在add附录模型中添加一个验证约束:
validates :contract, presence: true
希望帮助
费德里科•