2011-07-01 11 views
12

En mi aplicación he usado ruby ​​1.9.2 y rieles 3.0.3 y también he instalado la gema Devise. El problema comienza cuando ejecuto el servidor de Webrick obtengo uninitialized constante Idear el nombre de error.¿por qué obtengo una constante no inicializada? ¿Se ha producido un error al ejecutar el servidor webrick?

 /home/app/Workspace/project/Library_Management/Library_Management/config/initializers/devise.rb:3:in `<top (required)>': uninitialized constant Devise (NameError) 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/engine.rb:201:in `block (2 levels) in <class:Engine>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/engine.rb:200:in `each' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/engine.rb:200:in `block in <class:Engine>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `instance_exec' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `run' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:50:in `block in run_initializers' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `each' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `run_initializers' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/application.rb:134:in `initialize!' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/application.rb:77:in `method_missing' 
from /home/app/Workspace/project/Library_Management/Library_Management/config/environment.rb:5:in `<top (required)>' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
from /home/app/Workspace/project/Library_Management/Library_Management/config.ru:3:in `block in <main>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/builder.rb:46:in `instance_eval' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/builder.rb:46:in `initialize' 
from /home/app/Workspace/project/Library_Management/Library_Management/config.ru:1:in `new' 
from /home/app/Workspace/project/Library_Management/Library_Management/config.ru:1:in `<main>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/builder.rb:35:in `eval' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/builder.rb:35:in `parse_file' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/server.rb:162:in `app' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/server.rb:253:in `wrapped_app' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.3/lib/rack/server.rb:204:in `start' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/commands/server.rb:65:in `start' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/commands.rb:30:in `block in <top (required)>' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/commands.rb:27:in `tap' 
from /home/app/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/commands.rb:27:in `<top (required)>' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:58:in `require' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:58:in `rescue in require' 
from /home/app/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 

Gracias

+0

es Devise en su Gemfile.lock? –

+0

Recibí el tipo de error, y para mí realmente ayudó a cerrar la terminal y abrir una nueva.Podría ser útil, pero no voy a publicar esto como una respuesta porque no sé qué causó esto. – Automatico

+1

Asegúrese de reiniciar su servidor después de instalar una nueva gema. – Ctpelnar1988

Respuesta

4

Asegúrese de que usted ha enumerado en su Diseñar y ejecutar Gemfile bundle install.

+0

sí, he inventado una lista y también ejecuté la instalación del paquete, pero igual estoy obteniendo el mismo error ... – Addicted

+1

Dentro de la Configuración/aplicación.rb agregué la línea, necesito 'idear' y pude solucionar el problema – Addicted

+0

Además, pruebe con "paquete actualización "ya que será un poco más agresivo en la instalación de actualizaciones. Actualiza todas las gemas con todas las dependencias, lo que a menudo puede ayudar a resolver errores como este. Eche un vistazo a http://ryanbigg.com/2011/01/why-you-should-run-bundle-update/ – Automatico

3

Tengo un error como que cuando tuve un controlador legado personalizado para reemplazar el método 'nuevo' a hacer algunas cosas a medida, y se olvidó de utilizar 'super'

¿Tiene un controlador personalizado?

14

Compruebe su config/application.rb, debe agregar require 'idear' y debería estar bien.

+5

no funcionó para mí. – Eskim0

0

Agregué algunas columnas después de instalar Devise y agregué algunas validaciones en mi modelo de usuario. De un mensaje de error, parece que los rieles no pueden encontrar la biblioteca esencial, por lo tanto, no puede encontrar Devise. ¿Tal vez revisar la página wiki de Github y asegurarse de que todas las dependencias estén satisfechas?

Espero que ayude!

14

En caso de que usted está escribiendo un motor que tiene su propia configuración legado, sólo tiene que añadir

require 'devise' 

en el comienzo de inicializador legado. En mi caso he tenido ningún requisito legado dentro de la aplicación :)

Saludos

2

tuve un problema similar y me encontré con este https://github.com/plataformatec/devise

Se dice que hay que hacer

rails generate devise:install

Después de "Comenzar" en esa página me pusieron en marcha

1

si no está utilizando idear joya más a continuación, quitar

gem 'devise' 

de Gemfile y eliminar

config/initializers/devise.rb 

También asegúrese de legado no está siendo utilizado en cualquier lugar

1

sólo tenía esa cuestión, que era porque generé un modelo de vista por error y no lo eliminé de mis routes.rb

1

Tuve que agregar require 'devise' en el archivo spec/spec_helper.rb y eso error desapareció

0

En su config/application.rb, agregue require 'yaml'. Esto funciona para mi. Probar

Cuestiones relacionadas