Я пытаюсь настроить приложение Rails, которое имеет Записи, классифицированные по типу и подтипу;тип будет иметь несколько подтипов, и каждый подтип будет иметь много записей.Удаление типа или подтипа должно завершиться неудачей, если с ним что-то связано.Я бы подумал, что это может сработать, но я обнаружил, что попытка таких вещей, как record.type
или type.records.count
, ничего не возвращает.Вот настройки:
class Type < ApplicationRecord
has_many :subtypes, dependent: :restrict_with_exception
has_many :records, through: :subtypes, dependent: :restrict_with_exception
end
class SubType < ApplicationRecord
belongs_to :type
has_many :records, dependent: :restrict_with_exception
end
class Record < ApplicationRecord
has_one :subtype
has_one :type, through: :subtype
end
А затем, некоторые миграции, чтобы добавить соответствующие поля к уже существующим классам:
class LinkTypesSubtypesAndRecords < ActiveRecord::Migration[5.2]
def change
add_reference :subtypes, :record, index: true
add_reference :subtypes, :type, index: true
add_reference :records, :subtype, index: true
add_reference :types, :subtype, index: true
end
end
Есть ли что-то, что я здесь упускаю?