Sto facendo un po 'di progettazione/debug in IRB e devo accedere ad un utente e quindi essere in grado di usare current_user nei miei sforzi.Rails 3 - Come si può accedere a current_user nella console IRB di Devise?
Da Brian Deterling di answer a un'altra domanda, sono stato in grado di accedere con successo e accedere a una risposta della pagina con questa sequenza:
>> 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: Se si ottiene una risposta 200 non si è connessi in Te bisogno di un reindirizzamento 302 per indicare un login riuscito. Vedi la risposta di Tim Santeford.
Sono stato in grado di ottenere informazioni di sessione:
1.9.3-p125 :009 > app.session
=> {"_csrf_token"=>"1yAn0jI4VWzUH84PNTH0lVhjpY98e9echQGS4=", "session_id"=>"89984667d30d0fec71f2a5cbb9017e24"}
Ho provato tutto quello che posso pensare per cercare di arrivare a current_user
via app
e app.session
, ma senza fortuna. Come posso ottenere current_user
?
L'ho provato e funziona davvero. – Pierre
L'ho provato e current_user è nullo. Quando eseguo la procedura di accesso descritta nella domanda, ottengo una risposta di 200 e app.session restituisce csrf_token, quindi so che ho effettuato l'accesso OK. app.controller risponde con pagine e pagine di dati. Ma app.controller.current_user restituisce nil. Sto usando Devise - sei tu? –
Sembra che un problema di assegnazione di massa su app.post causasse il mio accesso non riuscito (una risposta di 200 non è un post di successo in questo caso - molto confuso.) Una volta ottenuta una risposta 302, funziona app.controller.current_user. Non avrei capito il problema di accesso senza la risposta di Tim Santeford. –