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