сценарий ассоциации моделей рельсов - PullRequest
0 голосов
/ 24 июня 2011

users => has_many: contacts,: through =>: user_contacts contacts => has_many: users,: through =>: user_contacts

профили

Теперь для профилей существует отдельный профиль для каждого пользователя, но есть два способа доступа к нему, в зависимости от URL. Есть публичный URL и частный URL. Общедоступный URL-адрес принадлежит пользователю, но частный URL-адрес принадлежит контакту (т. Е. Назначенный контакту в качестве личного URL-адреса для профиля пользователя, которому принадлежит этот контакт). Я запутался, как относиться к профилям ассоциации с пользователем и контактами в этом сценарии.

должен ли я использовать STI для таких профилей, как класс Profile

но если это действительно так, как мне управлять ассоциациями здесь?

1 Ответ

0 голосов
/ 24 июня 2011

как насчет простого типа URL и дифференцирования с типом в таблице. Тогда вы можете иметь отношения для каждого ТИПА URL с чем-то вроде:

belongs_to :private_url, :class_name => "Profiles", :conditions => "type = 0"
belongs_to :public_url, :class_name => "Profiles", :conditions => "type = 1"

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

Возможно, у меня неправильный синтаксис выше, но вы должны понять суть того, что я предлагаю ...

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