Rails 3 - 如何在IRB控制台中访问Devise的current_user? [英] Rails 3 - How can you get access to Devise's current_user in the IRB console?

查看:148
本文介绍了Rails 3 - 如何在IRB控制台中访问Devise的current_user?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在IRB做一些设计/调试,需要登录用户,然后在我的努力中使用current_user。



从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆