Мне нужно иметь возможность вызывать данные из другой модели - не только одного поля, но любого из них.
На данный момент у меня есть следующие модели:
kase
person
company
party
Я могу вызвать информацию от компании к казе и от человека к казе, используя это:
<li>Client Company Address: <span class="address"><%=h @kase.company.companyaddress %></span></li>
<li>Case Handler: <span><%=h @kase.person.personname %></span></li>
Эти две работы, однако, если я добавлю следующее:
<li>Client Company Fax: <span><%=h @kase.company.companyfax %></span></li>
<li>Case Handler Tel: <span><%=h @kase.person.personmobile %></span></li>
<li>Case Handler Email: <span><%=h @kase.person.personemail %></span></li>
Есть идеи, что не так?
Спасибо
Danny
РЕДАКТИРОВАТЬ: я получаю следующее сообщение об ошибке:
NoMethodError in Kases#show
Showing app/views/kases/show.html.erb where line #37 raised:
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.personname
Отмечены следующие строки:
34: <div id="clientinfo_showhide" style="display:none">
35: <li>Client Company Address: <span class="address"><%=h @kase.company.companyaddress %></span></li>
36: <li>Client Company Fax: <span><%=h @kase.company.companyfax %></span></li>
37: <li>Case Handler: <span><%=h @kase.person.personname %></span></li>
38: <li>Case Handler Tel: <span><%=h @kase.person.personmobile %></span></li>
39: <li>Case Handler Email: <span><%=h @kase.person.personemail %></span></li>
40: </div>
Модель для Kase выглядит следующим образом:
class Kase
belongs_to :company # foreign key: company_id
belongs_to :person # foreign key in join table
Модель для человека выглядит следующим образом:
class Person
has_many :kases # foreign key in join table
belongs_to :company
Модель для компании выглядит следующим образом:
class Company
has_many :kases
has_many :people
def to_s; companyname; end
Надеюсь, это поможет!