0
3 나는이보기를 통해액세스 (STI)는
<p>
<b>Name:</b>
<%= @group.name %>
</p>
<p>
<b>Leader:</b>
<%= @leader.last_name %>
</p>
을 그룹의 페이지를 그려 얻으려고 다음과 같은 모델
class Group < ActiveRecord::Base
has_many :people
has_one :leader
attr_accessible :name
end
class Person < ActiveRecord::Base
belongs_to :group
end
class Leader < Person
belongs_to :group
attr_accessible :first_name, :last_name
end
이 레일 #이 전무에 대한 정의되지 않은 메서드`LAST_NAME '를 보여 그룹에 NoMethodError : NilClass 여기
는 groups_controller입니다
def show
@group = Group.find(params[:id])
@leader = @group.leader
무엇이 잘못 되었나요?
UPD 이 또한 정말 붙어있어
<b>Leader:</b>
<%= @group.leader.last_name %>
작동하지 않습니다/도와주세요!
감사 : 블록이 에러가 발생하지 않도록 할 경우
당신은에서 페이지의 해당 부분을 둘러싸 수 있습니다. 그래서 '@ leader = @ group.leader'는 충분하지 않습니다. '리더'를 어떻게 그리고 어디서 정의해야합니까? – Maria
'@leader = @ group.leader'는 괜찮지 만, 테스트 케이스에있는 특정 그룹에 '리더'가 지정되어 있지 않습니다. 보기에서 페이지의 해당 부분을 if 블록으로 묶어서 '리더'를 처리 할 수 있습니다. 설명 할 답변을 업데이트했습니다. – Matt
감사합니다. 그게 맞았습니다. – Maria