Это должно быть распространенной проблемой, поэтому я удивлен, что Google не нашел больше ответов. Я работаю над приложением rails, у которого есть несколько различных типов сущностей, эти сущности нуждаются в связи с другой сущностью. Например:
Address
: модель, в которой хранится информация об адресе улицы (это моя общая сущность)
PersonContact
: модель, которая включает в себя такие вещи, как домашний телефон, мобильный телефон и адрес электронной почты. С этой моделью должен быть связан адрес
DogContact
: Очевидно, что если вы хотите связаться с собакой, вы должны пойти туда, где она живет.
Итак, PersonContact
и DogContact
должны иметь внешние ключи для Address
. Даже несмотря на то, что они действительно «владеющие» объектом Address
. Это было бы хорошо, за исключением того, что accepts_nested_attributes_for
рассчитывает, что внешний ключ в Address
будет работать правильно.
Какова правильная стратегия для сохранения внешнего ключа в Address
, но иметь PersonContact
и DogContact
быть владельцами объектов?