Rails 3 - 如何在IRB控制台中访问Devise的current_user? [英] Rails 3 - How can you get access to Devise's current_user in the IRB console?
问题描述
从Brian Deterling的答案到另一个问题,我已经能够成功登录并访问这个顺序的页面响应:
>> 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
注意:如果您得到200个回复,则您没有登录。需要302重定向来指示登录成功。请参阅Tim Santeford的答案。
我已经能够获取会话信息:
1.9.3-p125:009> app.session
=> {_csrf_token=>1yAn0jI4VWzUH84PNTH0lVhjpY98e9echQGS4 =,session_id=>89984667d30d0fec71f2a5cbb9017e24}
我已经尝试过我想到的一切,尝试通过应用程序
和 current_user
> app.session ,但没有运气。如何获得 current_user
?
current_user
是控制器的一个属性,所以在 app.post('/ sign_in',...
可以调用您的rails控制台中的app.controller.current_user
以获取User对象
I'm doing some design/debugging in IRB and need to login a user and then be able to use current_user in my efforts.
From Brian Deterling's answer to another question, I have been able to successfully login and access a page response with this sequence:
>> 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
NOTE: If you get a 200 response you are not logged in. You need a 302 redirect to indicate a successful login. See Tim Santeford's answer.
I've been able to get session info:
1.9.3-p125 :009 > app.session
=> {"_csrf_token"=>"1yAn0jI4VWzUH84PNTH0lVhjpY98e9echQGS4=", "session_id"=>"89984667d30d0fec71f2a5cbb9017e24"}
I've tried everything I can think of to try to get to current_user
via app
and app.session
, but no luck. How can I get current_user
?
current_user
is a property of the controller so after app.post('/sign_in', ...
you can call app.controller.current_user
in your rails console to get the User object
这篇关于Rails 3 - 如何在IRB控制台中访问Devise的current_user?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!