我是RoR的新手,所以不要对我可能说的蠢话感到惊讶.抱歉提前..。
我试图在两种型号“增编”和“合同”之间创建外键约束
ActiveRecord现在是这样的
class Addendum < ActiveRecord::Base
belongs_to :contract
end
class Contract < ActiveRecord::Base
has_many :addendums
end因此,我需要该程序只允许创建一个新的增编,如果它将与一个现有的合同。我安装了创业板外国人并创建了这个迁移:
class AddingForeignKeys < ActiveRecord::Migration
def change
add_foreign_key(:contracts, :addendums)
end
end运行rake db:迁移
并且预期会看到ActiveRecord::Base (指示外键约束)上的更改,但不会发生更改。
我做错了什么?
发布于 2014-05-05 01:56:04
只要在增编表中有一个contract_id列,创建关联(在您的例子中是has_many和belongs_to),并将一个验证约束输入到增编模型中,就足够了:
validates :contract, presence: true希望有帮助
费德里科
https://stackoverflow.com/questions/23463565
复制相似问题