2010-04-19 5 views
0

Je cours dans le tutoriel Ruby on Rails au http://guides.rubyonrails.org/getting_started.html (en ajustant le cas échéant pour App Engine de Google). Tout va bien jusqu'à la section 6.3: lorsque je tente de cliquer sur « Nouveau message », je reçois l'erreur suivante:Rails sur Google App Engine - Erreur sur la machine de développement OS X

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

Il fonctionne très bien quand je télécharge l'application sur App Engine de Google; c'est juste sur ma machine de développement (OS X 10.6) que ça ne marche pas.

Merci d'avance.

EDIT: Je viens de tester une simplification du problème: même en passant simplement par les étapes de gist.github.com/268192, j'obtiens la même erreur en cliquant sur "nouveau contact" (ou de la même manière en naviguant sur localhost: 8080/contacts/nouveau). Etrangement, lorsque je passe par les étapes de construction d'un livre d'or avec Sinatra (code.google.com/p/appengine-jruby/wiki/GettingStarted), cela fonctionne très bien, y compris l'enregistrement dans le magasin de développement.

Répondre

1

Vous n'avez pas configuré votre base de données sur votre ordinateur de développement. faire un rake db:create:all et puis exécuter une migration rake db:migrate

+0

Est-ce nécessaire? J'utilise DataMapper, et selon les instructions à http://gist.github.com/268192 J'utilise --skip-migration lors de la création du contrôleur. –

+0

@Paddy: Juste au cas où, j'ai essayé les étapes que vous avez mentionnées. Toujours la même erreur malheureusement –

+0

Ok, je n'ai vraiment aucune idée de datamapper car je ne l'ai jamais utilisé dans aucun de mes projets. "Erreur interne du serveur: 500" indique généralement l'inexistence de la base de données. Avez-vous une base de données configurée pour cette application? Si vous utilisez MySQL/Postgresql, vérifiez si le serveur est opérationnel dans le préfixe MacOSX. –

0

Je suggère de tripler votre fichier routes.rb pour vous assurer que vous n'avez pas d'erreurs là-bas.

Également, essayez jruby script/console et voyez si vous pouvez accéder à la base de données à partir de là.

Dans quelle version de JRuby êtes-vous?

+0

Impossible de le faire fonctionner à partir de script/console, mais j'ai seulement essayé rapidement donc je ne sais pas exactement ce qui se passait ... JRuby version est ce qui est emballé avec le moteur de l'application; il utilise sa propre version "gelée" de JRuby (voir http://code.google.com/p/appengine-jruby/wiki/InstallEverything) –