Ruby on Rails - Foreign Keys (иностранный драгоценный камень)

Я новичок в RoR, так что не удивляйтесь возможным глупым вещам, которые я могу сказать... заранее извините...

Я пытаюсь создать ограничения внешних ключей между двумя моделями "Addendum" и "Contract"

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

запустить грабли дБ: мигрировать

и ожидается увидеть изменения в ActiveRecord::Base (с указанием ограничения внешнего ключа), но никаких изменений не произойдет

Что я делаю неправильно?

1 ответ

Решение

Достаточно иметь столбец contract_id в таблице Addendum, создать ассоциацию (в вашем случае has_many и own_to) и в модели Addendum ограничение проверки:

validates :contract, presence: true

надежда помогает

Federico

Другие вопросы по тегам