Ruby on Rails -外键(外国宝石)



我是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

希望帮助

费德里科•

相关内容

  • 没有找到相关文章