Соглашение об именах столбцов внешнего ключа Rails для унарного отношения многие-многие - PullRequest
2 голосов
/ 04 марта 2012

Я знаю, что если есть таблица "users" и таблица "posts", то в таблице posts есть столбец внешнего ключа с именем 'user_id', согласно соглашению rails.Моя проблема возникает, когда у меня есть таблица «пользователи», и отношение, которое я пытаюсь установить, составляет унарное много-много (многие покупатели могут уведомить многих продавцов, так как покупатели и продавцы являются «пользователями»).Теперь «уведомления» - это таблица соединения, которая должна содержать внешние ключи «user_id» и «user_id» для хранения идентификаторов покупателя и продавца в соответствии с соглашением о присвоении имен внешним ключам, но, очевидно, этого сделать нельзя.Может кто-нибудь сказать мне, как назвать столбцы FK в унарном отношении многие-многие и каковы методы доступа rails для такого отношения?

1 Ответ

1 голос
/ 04 марта 2012
class Notification
     belongs_to :seller, class_name: "User"
     belongs_to :buyer, class_name: "User"
end

А ваши внешние ключи в таблице уведомлений должны быть seller_id и buyer_id. Имена foreign_keys выводятся по названию ассоциаций (продавец и покупатель здесь).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...