2009-12-19 2 views
1

Ruby-on-Rails를 가르치기 위해 책을 작업하고 있습니다. Ruby 버전은 1.2.3이고 Rubygems V 1.3.5입니다.사용자가 정의하지 않은 지역 변수 또는 메소드 'within'을 사용하는 경우 : class

나는 루비 스크립트/콘솔 콘솔을 시작하고 입력 :

user = User.new(:screen_name => "example", 
?> :email => "exampleATexample.com", 
?> :password => "example") 

를 대신 DB에 데이터를 추가, 나는 다음과 같은 얻을 :

NameError: undefined local variable or method 'within' for User:Class from D:/ruby/lib/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1235:in 'method_missing' from ./script/../config/../config/../app/modules/user.rb:13 

정말하지 않습니다 무슨 일이 일어나는지 이해해. 어떤 종류의 도움이라도 대단히 감사합니다. 감사합니다!

+0

레일스 v. 1.2.3을 의미하는 것으로 생각합니다 : – ewakened

+0

사용자의 13 번째 라인 .rb 파일? 오류가있는 곳인 것처럼 보입니다. – MattMcKnight

답변

0

먼저 Rails v 1.2.3 메인 레일을 믿습니다. 레일즈의 아주 오래된 버전입니다. 사용하지 마십시오.

두 번째 것은, 사용자가 입력 한 명령이 잘못된 루비 문법을 가지고 ... 대신이 시도 :

user =User.new(:screen_name => "example", :email => "exampleATexample.com", :password => "example") 

세 번째 일 : 붙여 넣기하시기 바랍니다 더 많은 코드 .... 또한

+1

명령이 올바른 구문이었습니다. 여러 줄에 걸쳐 입력 했으므로 프롬프트를 제거하지 않았습니다. 하지만 그렇습니다. 새로운 버전의 레일을 설치해야합니다. 2.3.5 버전입니다. (''gem install rails'). – henrikhodne

+0

답장을 보내 주셔서 감사합니다. 당신 말이 맞습니다. 더 많은 코드가 있습니다. 나는 그것을 허용하지 않기 때문에 쉘에서 복사하여 붙여 넣을 수는 없다. 코드가 그다지 중요하지 않겠지 만, 누락 된 점을 지적한 이후로 여러분을위한 모든 코드가 문제를 해결하는 데 얼마나 중요한지 분명히 알려 주셔서 감사드립니다. 나는 그것을 명심 할 것이다. 도움을 주셔서 다시 한번 감사드립니다. – user235091

0

, 단지 검사로 . 뭔가 데이터베이스와 관련이있다 레일에서 작동하지 않을 때마다

, 당신은

rake db:migrate 

때때로이 당신의 마음을 미끄러 이상한 오류가 발생할 수 있습니다 실행해야합니다.

또한 부수적으로 ... 나는 사용자가 자신의 암호 및 이메일을 확인하도록 요구하는 유효성 검사를 사용자 모델에 추가해야합니다. 일반적으로 좋은 습관입니다.

validates_confirmation_of :password, :email 

레일 학습에있어 가장 좋은 점은 모두. @ dvyjones의 조언을 받아 최신 버전의 레일스로 업그레이드하십시오 ... v. 1.2.3 이후 많은 변경되었습니다

+0

시간을내어 조언을 주셔서 감사합니다. 이 책의 동반 웹 사이트에서는 문제를 피하기 위해 책의 레일 버전을 사용하는 것이 가장 좋습니다 (루비가 아니라 네가 맞다 :-)). 그러나 이전 버전을 고수하면서 문제가 발생했기 때문에 커뮤니티와 관련된 모든 문제를 업그레이드하고 해결할 수 있습니다. 그래서 업그레이드 할 것입니다. – user235091

+0

어떤 도서입니까? Rails는 코드가 변경 될뿐만 아니라 모범 사례도 변경되는 프레임 워크이기 때문에 묻습니다. 오래된 책을 사용하는 것은 시작에 좋지만 더 많은 최신 정보를 유지하려고하는 것이 좋습니다. 도움이 전혀 문제가되지 않습니다. 트위터에서 나를 추적 할 필요가 있다면 @kentf – ewakened

관련 문제