2012-02-13 3 views
1

다음 문제를 해결할 수 있습니까? 이것은 내가 아는 기본이지만, 나는 아주 기본적인 것을 놓치고있는 것 같다. 내가 ': editors'라는 것을 소개했을 때 나는 올바른 클래스 이름을 가리키고 있지만 잘못된 것처럼 보인다. 당신의 도움을 주셔서 감사합니다.NameError : 정의되지 않은 로컬 변수 또는 메서드

내가 아래로 내 모델 '페이지를'정의 -

class Page < ActiveRecord::Base 

    belongs_to :subject 
    has_many :sections 
    has_and_belongs_to_many :editors, :class_name => "AdminUser" 

end 

내 AdminUser.rb이

class AdminUser < ActiveRecord::Base 


    has_and_belongs_to_many :pages 
    has_many :section_edits 

    scope :named, lambda {|first,last| where(:first_name => first, :last_name => last)} 

end 

다음과 같이 정의되어 있지만 내가 콘솔을 레일에 갈 때와 유형

Loading development environment (Rails 3.2.1) 
>> page.editors 
NameError: undefined local variable or method `page' for main:Object 
from (irb):1 
+0

안녕하세요, 대소 문자를 구분합니까? 당신은 클래스 페이지가 있습니다. 오류가있는 경우 page.editors는 소문자 – Downpour046

+0

입니다. 죄송합니다. 작동하지 않습니다. –

답변

0

'페이지'는 어디에서 초기화합니까? 소유 한 편집자의 콜렉션은 일반적으로 페이지가 아닌 특정 페이지에 속합니다. 페이지 생선 : page = Page.find ([일부 기준]). 그런 다음 page.editors는 해당 페이지의 편집자를 반환합니다.

0

안녕하세요. 나는 당신이하고있는 것과 같은 훈련 비디오를하고 있고 똑같은 문제가있었습니다. 내가 한 일은 '다 대다 협회 : 단순한'비디오를 다시보고 강사와 똑같이 코드를 복사하고 저장하도록했습니다! .rb 파일을 끝내고 코드를 변경했습니다. 강사와 똑같은 코드를 복사했지만 레일즈 콘솔을 시작하기 전에 .rb 파일 중 하나를 저장하지 않았기 때문에 오류가 발생했습니다. 또한 강사가 지시 한 코드를 삽입하고 (.rb 파일을 저장하는 경우) 레일스 콘솔을 종료하고 다시 시작하여 모든 .rb 파일이 업데이트되도록하십시오. 이게 당신을 도와줬으면 좋겠어!

또 한가지, 내 admin_user.rb의 라인

has_many :sections_edits 

이 없습니다. 당신이 나보다 더 멀리 있기 때문에 이것이 가능할 수 있습니다. 그리고 이것이 이것이 효과가 있는지 확실하지 않습니다. 행운을 빌어 요. 동일한 교육 자습서를 작성 중이므로 추가 도움이 필요하면 알려주세요.

관련 문제