如何在app.get()
中调用script/console
时手动设置会话?
例如,我想访问授权页面,但它总是将我重定向到登录页面。如何在致电app.get()
之前设置会话,以便我可以对该页面进行授权调用?
答案 0 :(得分:0)
取决于您用于会话身份验证的内容。如果您执行app.class
,则会看到该应用是ActionController::Integration::Session
。您需要做的是验证自己,然后点击您的受限页面
答案 1 :(得分:0)
这是我做过的一个丑陋的解决方法。
#Type in script/console
include ActionController::TestProcess
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
@controller = SomeController.new
get 'action', {}, {:signed => 42} #action, params, session
#now @response has the updated response object.
在执行另一个get()/post() etc
之前,请务必通过致电@controller
重置@controller = SomeController.new
,否则@response
似乎无法在后续请求中更新。
答案 2 :(得分:0)
如果您提取临时文件,会话是可读的(http://tektastic.com/2006/12/ruby-on-rails-how-to-load-session.html),但除非您使用调试器,否则不会以可从控制台修改的方式存储会话哈希。
答案 3 :(得分:-1)