Estoy haciendo un diseño/depuración en IRB y necesito iniciar sesión en un usuario y luego poder usar current_user en mis esfuerzos.Rails 3 - ¿Cómo se puede acceder al usuario_actual de Devise en la consola IRB?
De Brian Deterling de answer a otra pregunta, he podido entrar con éxito y acceder a una respuesta de la página con esta secuencia:
>> ApplicationController.allow_forgery_protection = false
>> app.post('/sign_in', {"user"=>{"login"=>"some-login-id", "password"=>"some-password"}})
>> app.get '/some_other_path_that_only_works_if_logged_in'
>> pp app.response.body
. NOTA: Si se obtiene una respuesta 200 no ha iniciado sesión en Ti necesita un redireccionamiento 302 para indicar un inicio de sesión exitoso. Vea la respuesta de Tim Santeford.
he sido capaz de obtener información de la sesión:
1.9.3-p125 :009 > app.session
=> {"_csrf_token"=>"1yAn0jI4VWzUH84PNTH0lVhjpY98e9echQGS4=", "session_id"=>"89984667d30d0fec71f2a5cbb9017e24"}
He intentado todo lo que puedo pensar para tratar de llegar a través de current_user
app
y app.session
, pero no hubo suerte. ¿Cómo puedo obtener current_user
?
Yo lo he probado y realmente funciona. – Pierre
Lo probé y current_user es nulo. Cuando hago el procedimiento de conexión descrito en la pregunta, consigo una respuesta 200 y app.session devuelve el csrf_token, así que sé que estoy conectado en Aceptar. El controlador de la aplicación responde con páginas y páginas de datos. Pero app.controller.current_user devuelve nil. Estoy usando Devise, ¿verdad? –
ve como una cuestión de asignación de masas en app.post estaba causando mi nombre de no tener éxito (una respuesta 200 no es un puesto de éxito en este caso -. Muy confuso) Una vez me dieron una respuesta 302, entonces app.controller.current_user obras. No hubiera averiguado el problema de acceso sin la respuesta de Tim Santeford. –