2010-06-10 4 views
1

나는 내 웹 사이트 사용자 모두를 저장하는 '사용자'테이블을 가지고 있는데 그 중 일부는 기술자입니다. users 테이블에는 'first_name'및 'last_name'필드는 물론 다른 필드가 있습니다.레일에 has_many

다른 테이블은 technician_id라는 사용자의 외래 키가있는 'service_tickets'라고합니다. 이것은 service_tickets 테이블을 볼 때 관련 사용자가 실제로 기술자이기 때문에 실제 문제가됩니다. 이것이 service_tickets 테이블에 user_id 필드가 아니라 technician_id가있는 이유입니다.

t = service_ticket.find_by_id(7) 
t.technician.first_name  # notice how I don't do t.user.first_name 

레일이 가능 :

나는 이런 식으로 뭔가를 달성하기 위해 노력하고 있어요? 나는 그것이 작동하도록 할 수 없습니다 ...

도와 줘서 고맙습니다! 서비스 티켓 모델에서

답변

3

, 당신은 불행하게도 때, 빠른 응답을

belongs_to :technician, :class_name => "User" 

그것은 technician_id이 경우 사용자 모델을 사용하는 것입니다 ... 같은

+0

감사 기술자 관계를 추가 할 수 있습니다 내 모델에 제안 된 제약 조건을 입력 한 다음 내보기에 다음 코드를 입력했습니다. <% @ service_tickets.each do | s | %> <% = s.technician.first_name %><% end %> 나는 다음과 같은 오류 얻을 : "정의되지 않은 메서드'FIRST_NAME '무기 호에 대한 : NilClass" 어떤 아이디어이 될 수 있는지? "has_many : service_tickets"이외의 다른 것을 사용자 모델에 넣어야합니까? – dingalingchickenwiing

+0

그건 그렇고, 사용자 모델에는 'first_name'이라는 필드가 있습니다. – dingalingchickenwiing

+0

서버를 재부팅 한 후 코드가 작동했습니다! 내 이전 게시물에 신경 쓰지 마라. 고맙습니다! belongs_to : 나는이 같은 온라인 읽은 끝에 설정 foreign_key : 기술자, : class_name을 => "사용자", : foreign_key => "technician_id" 괜찮 것을인가 그런데 , 난을 넣어? – dingalingchickenwiing