2010-04-28 3 views
0

하나의 필드가 아니라 다른 모델의 데이터를 호출 할 수 있어야합니다. 순간레일에서 다른 모델의 데이터 호출

나는 다음과 같은 모델이 있습니다

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> 

어떤 아이디어가 잘못 되었나요?

감사합니다,

대니

편집 : 다음과 같이

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는 다음과 같습니다.

다음과 같이 16,
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 

희망!

+0

오류 메시지가 있습니까? 모델과 마이그레이션을 보여줄 수 있습니까? – gregor

+1

'kases' 테이블에'person_id'가 있어야합니다. –

+0

정수가 아니면 문자열이었습니다. – dannymcc

답변

2

답을 쓸 때 문제는 person_idkases 표에 string입니다.

0

사람 테이블에 데이터가 채워지십니까?

관련 문제