首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails外国钥匙(外国人宝石)

问Rails外国钥匙(外国人宝石)
EN

Stack Overflow用户
提问于 2014-05-05 01:32:27
回答 1查看 373关注 0票数 0

我是RoR的新手,所以不要对我可能说的蠢话感到惊讶.抱歉提前..。

我试图在两种型号“增编”和“合同”之间创建外键约束

ActiveRecord现在是这样的

代码语言:javascript
复制
class Addendum < ActiveRecord::Base
    belongs_to :contract  
end


class Contract < ActiveRecord::Base
    has_many :addendums
end

因此,我需要该程序只允许创建一个新的增编,如果它将与一个现有的合同。我安装了创业板外国人并创建了这个迁移:

代码语言:javascript
复制
class AddingForeignKeys < ActiveRecord::Migration
  def change
    add_foreign_key(:contracts, :addendums)
  end
end

运行rake db:迁移

并且预期会看到ActiveRecord::Base (指示外键约束)上的更改,但不会发生更改。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-05 01:56:04

只要在增编表中有一个contract_id列,创建关联(在您的例子中是has_many和belongs_to),并将一个验证约束输入到增编模型中,就足够了:

代码语言:javascript
复制
validates :contract, presence: true

希望有帮助

费德里科

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23463565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档