2011-04-16 14 views
5

estoy usando Diseñar para configurar la autenticación de usuario, pero estoy teniendo dificultades para conseguir que los usuarios accedanIdear: Los usuarios no firmar en

Las formas están prestando correctamente para la muestra y se inscriban.. El problema es que cuando hago clic en enviar, obtengo un error (No coincide la ruta "/ sesiones/usuario"). Si voy al formulario de registro, complete los campos y envíe, entonces obtengo el mismo error. Sin embargo, cuando regreso a la url raíz (páginas # home), el usuario inicia sesión. Si cierro la sesión y trato de iniciar sesión con las mismas credenciales de usuario, aparece el error sin coincidencias de ruta y el usuario no está registrado en absoluto.

Me gustaría arreglar esto para que registre/inicie sesión redirija a las páginas # home y el usuario inicie sesión desde el formulario de inicio de sesión. ¿Algunas ideas?

Háganme saber si necesita información adicional, y muchas gracias por su ayuda!

+0

¿Qué versión de Rails and Devise estás usando? ¿También puedes publicar tu archivo routes.rb? –

+0

Rails: 3.0.5, Devise 1.2.1, routes.rb http://min.us/mTTAspPGXiM8u#1 (Representación de falta para publicar imágenes) Nota: la coincidencia 'sesión/usuario' está comentada, pero cuando no estoy comentado obtener un error "No se pudo encontrar el mapeo de diseño para la ruta"/sessions/user "'. ¡Aprecio tu sabiduría de codificación! – ahuang7

+0

Estoy un poco confundido con respecto al propósito de la sesión y las rutas de usuario que está creando. ¿Está tratando de sobrescribir el código de diseño o simplemente está tratando de agregar un poco de funcionalidad a estos métodos? Si solo necesitas agregar un poco de funcionalidad, recomendaría extender los controladores existentes, hacer tu código y luego llamar a super para que el diseño haga su trabajo. Tampoco estoy seguro de qué efecto tendrá esto, pero la convención dice que tiene una raíz al final de su archivo de rutas (http://guides.rubyonrails.org/routing.html#using-root). –

Respuesta

0

Tenía un viejo controlador de sesiones, lo borré, reinicié el servidor. Luego, recibí el error "BCrypt :: Errors :: InvalidHash in Devise/sessionsController # create" en el inicio de sesión, que se relaciona con una columna vacía de encrypted_password db. Miré el modelo de usuario y comenté attr_accessor: password y creé un nuevo usuario, la contraseña cifrada para ese usuario se guardó, y el inicio de sesión ahora funciona. ¡¡Hurra !!

Cuestiones relacionadas