Я хочу создать что-то, чтобы у человека было много адресов электронной почты, а у адреса электронной почты был только один человек, но у меня также есть другая модель под названием Компания, которая также может иметь много адресов электронной почты, и я не хочу есть столбцы company_id и person_id в таблице электронных писем, поэтому я подумал, что могу сделать ...
person.rb
has_many: person_emails
has_many: электронные письма,: through =>: person_emails
person_emails.rb
принадлежит_ человеку
принадлежат: электронная почта
email.rb
has_one: person_email
has_one: person,: through =>: person_email
Что сейчас происходит, так это ...
p = Person.first # => "Ник"
p.emails # => показывает все электронные письма, которые есть у Nik
p.person_emails # => показывает все записи объединенной таблицы person_email для Nik
e = Email.first # => один из адресов электронной почты Nik
e.person_email # => показывает одну и только одну запись объединенной таблицы этого письма person_email
e.person # не может сказать, что неизвестный столбец "people.email_id" в предложении where
Я бы хотел ...
e.person # => "Ник"
Кто-нибудь знает, в чем может быть проблема?
Спасибо