Я добился хорошего прогресса в своем первом приложении на Rails с лотом помощи от великого сообщества здесь, в Stack Overflow.
У меня есть базовое приложение, которое имеет следующие модели:
KASE
человек
Компания
сторона
Я связал их следующим образом:
class Kase
belongs_to :company # foreign key: company_id
has_and_belongs_to_many :people # foreign key in join table
class Person
has_and_belongs_to_many :kases # foreign key in join table
class Company
has_many :kases
has_many :people
class Party
has_and_belongs_to_many :people
has_and_belongs_to_many :companies
В настоящий момент, если я создаю компанию, а затем перехожу к созданию нового дела (kase), я могу выбрать из выпадающего списка нужную мне компанию (из базы данных компаний), а затем в представлении шоу я могу выведите название выбранной компании для случая, используя этот код:
<li>Client Company: <span><%=h @kase.company.companyname %></span></li>
Однако, если я добавлю нового Человека, используя тот же метод - я могу успешно назначить компанию этому человеку, но в представлении шоу он только выводит идентификационный номер компании, используя этот код:
<li>Person Company: <span><%=h @person.company.company_id %></span></li>
Если я изменю вышеприведенное на:
<li>Person Company: <span><%=h @person.company.companyname %></span></li>
Я получаю следующую ошибку:
undefined method `company' for #<Person:0x105dc4938>
Похоже, я могу назвать идентификатор компании, но больше ничего из базы данных компании, есть идеи, где я ошибаюсь?
Спасибо
Danny