2010-04-19 2 views
0

나는 (Ruby on Rails) 튜토리얼 http://guides.rubyonrails.org/getting_started.html (구글의 App Engine에 적합한 곳에서 조정)을 실행 중이다. 모든 잘 섹션 6.3까지 달려있다 : 나는 "새 게시물"을 클릭 할 때, 나는 다음과 같은 오류가 발생합니다 :Google App Engine의 레일즈 - OS X 개발 기계의 에러

Internal Server Error (500) 
Request Method: GET 
Request URL: http://localhost:8080/500.html 
access denied (java.io.FilePermission /dev/urandom read) 

내가 구글의 앱 엔진에 응용 프로그램을 업로드 할 때 잘 작동; 내 개발 컴퓨터 (OS X 10.6)에서만 작동하지 않습니다.

미리 감사드립니다.

편집 : 방금 문제의 단순화를 테스트했습니다. gist.github.com/268192의 단계를 실행하는 경우에도 "새 연락처"를 클릭 할 때와 같은 오류가 발생합니다 (또는 탐색 할 때와 마찬가지로). localhost : 8080/contacts/new).

이상하게도, Sinatra (code.google.com/p/appengine-jruby/wiki/GettingStarted)로 방명록을 작성하는 단계를 거쳐 개발 저장소에 저장하는 것을 포함하여 잘 작동합니다.

답변

1

개발 컴퓨터에서 데이터베이스를 설정하지 않았습니다. rake db:create:all을 실행 한 다음 마이그레이션을 실행하십시오. rake db:migrate

+0

그게 필요합니까? DataMapper를 사용하고 있습니다. http://gist.github.com/268192의 지침에 따라 컨트롤러를 만들 때 --skip-migration을 사용하고 있습니다. –

+0

@Paddy : 혹시 언급 한 단계를 시도했습니다. 불행히도 여전히 같은 오류가 발생했습니다. –

+0

Okay 정말 내 프로젝트에서 사용하지 않았으므로 datamapper에 대해 전혀 몰라요. "내부 서버 오류 : 500"은 일반적으로 데이터베이스가 존재하지 않는다는 것을 암시합니다. 이 응용 프로그램 용으로 데이터베이스가 구성되어 있습니까? MySQL/Postgresql을 사용하고 있다면, 서버가 MacOSX prefpane에서 실행되고 있는지 확인하십시오. –

0

routes.rb 파일을 세 번 검사하여 거기에 오류가 없는지 확인하십시오.

또한 jruby script/console을 시도하고 거기에서 DB에 액세스 할 수 있는지 확인하십시오.

어떤 JRuby 버전을 사용하고 있습니까?

+0

스크립트/콘솔에서 작동시키지 못했지만 신속하게 시도했기 때문에 정확히 무슨 일이 일어 났는지 확신 할 수 없었습니다 ... JRuby 버전은 앱 엔진과 함께 패키지되어 있습니다. JRuby의 자체 "고정"버전을 사용합니다 (http://code.google.com/p/appengine-jruby/wiki/InstallEverything 참조). –