Какова правильная ассоциация для этой проблемы?
Есть три модели:
- Жители
- Стороны
- Адреса
У каждого Resident
и Party
есть Address
Каждый Address
может принадлежать Resident
или Party
или обоим.
Может быть несколько Parties
в одном и том же Address
и несколько Residents
в этом месте.
Является ли связь habtm лучшим решением для этих моделей?
Я пытался сделать полиморфные ассоциации, но возникает конфликт, потому что Address
может принадлежать как Resident
, так и Party
несколько раз.
Я хотел бы иметь возможность делать такие вещи, как...
address = Address.find_or_create_by_street("100 Some Street")
# Associate the Party with a specific Address:
party_object.address = address
# Find all Parties happening at a specific Address:
address.parties do ...
# Find all Residents located at a specific Address:
address.residents.each do ...
Запуск Rails 3 + MySQL 5.5