我知道我可以使用app.get
和app.post
在Rails控制檯中測試控制器。如何使用會話在rails控制檯中發送請求?
但是如何設置session
?我發現有app.session
,但它似乎不保留其狀態。
$ app.session[:a] = "123"
$ app.get "/"
$ app.session
=> {}
我知道我可以使用app.get
和app.post
在Rails控制檯中測試控制器。如何使用會話在rails控制檯中發送請求?
但是如何設置session
?我發現有app.session
,但它似乎不保留其狀態。
$ app.session[:a] = "123"
$ app.get "/"
$ app.session
=> {}
這是關於它的blog post。從我的猜測來看,這是多麼乏味,人們通常不會這麼做。
查看tmp/sessions並找到最近的文件(UNIX上的ls -alrt)。 假設文件名爲
tmp/sessions/ruby_sess.8eb9614a7e4e1e3b
打開控制檯,然後輸入:>> session = Marshal.load(File.open('tmp/sessions/ruby_sess.8eb9614a7e4e1e3b')) => {"hash"=>{:cart=... >> cart = session["hash"][:cart] ....
在這種情況下,我試圖訪問的會議,這是擺在會議上與
session[:cart] = Cart.new
一個購物車對象如果您正在使用RedisStore進行Rails會話,則可以使用以下方便的方法檢索會話:給定會話ID
def get_session(sid)
store = ActionDispatch::Session::RedisStore.new(
Rails.application,
Rails.application.config.session_options)
store.get_session({}, sid)
end