соединения данных - PullRequest
       6

соединения данных

0 голосов
/ 20 ноября 2011

Я борюсь с новым приложением, в котором у меня есть модель User, которая имеет несколько ассоциаций с самим собой.

Например, у пользователя могут быть ученики / родители / администраторы, но все эти ассоциации также являются пользователями.

Моя идея состояла в том, чтобы создать модель соединения, в которой я указываю идентификаторы ассоциаций и тип ассоциации. К сожалению, я не знаю, как это реализовать.

Любая помощь будет высоко ценится.

Спасибо!

Ответы [ 2 ]

1 голос
/ 20 ноября 2011

Когда модель ссылается на себя, это самообъединение.См. здесь. , а также Google для «самостоятельного подключения».

Re: «модель соединения» необходима?

Ответ: Вместо «подключения»В модели лучше использовать таблицу «многие ко многим» или «таблицу соединений 1009 * »

Таблица «многие ко многим» необходима, только если ваши данные имеют отношение «многие ко многим».В противном случае вам просто понадобятся отношения один-к-одному или многие-к-одному.

«У пользователя могут быть ученики» Ключевой вопрос: может ли один ученик иметь много «пользователей»?Если это так, то вам нужна таблица «многие ко многим», в противном случае - нет.

Для родителей вы можете сказать, что у пользователя ровно ноль или один отец.Если так, то таблица «многие ко многим» не нужна.

Отредактировано: Упс, я понимаю, что больше не знаю этого «холода».Я должен был поэкспериментировать с примером кода, чтобы получить его правильно.И, к сожалению, у меня сейчас нет времени.Приношу свои извинения.

См. Самостоятельное присоединение doc

0 голосов
/ 20 ноября 2011

Этот Railscast должен отвечать непосредственно вашим потребностям.

...