В Rails мне нужна модель с has_many
с двумя внешними ключами, которые должны быть сопоставлены для составления списка.Несколько внешних ключей _ has_many
Ex:
Organization_Profiles
структура таблицы
id : int
profile_id : int
organization_id : int
ассоциации
belongs_to: :profile
belongs_to: :organization
has_many: :notifications, foreign_keys: [:profile_id, :organization_id], dependent: :destroy
Уведомления
таблица структуры
id : int
profile_id : int
organization_id : int
level : int
message : string
ассоциации
belongs_to: :profile
belongs_to: :organization
Как я могу выполнить выше? Из того, что я исследовал, foreign_keys: []
не существует.
Каков основной набор ассоциаций, в котором вы нуждаетесь? Давайте перестроим это, чтобы работать для ваших нужд. Композитные внешние ключи не идеальны в Rails, и обычно есть другое решение. –
@JoeEssey Вышеупомянутые отношения мне нужны. Мне нужно иметь возможность зависания:: уничтожать уведомления, если организация удалена от пользователя (т. Е. Структура профиля уничтожена. – steventnorris
Думаю, вам нужно будет добавить действие обратного вызова в «ProfileOrganizations», чтобы выполнить удаление. вам не нужно строить отношения, чтобы получить функциональность 'depend:: destroy'. Я не знаю полной модели вашего приложения, но мой инстинкт говорит, что есть что-то подозрительное, связанное с привязкой к таблице моста. –