我想在grape-api中使用Rails activerecord-session_store的会话。
但是下面代码中的env['rack.session'][:foo]
为空。
请告诉我如何解决。
class API < Grape::API
use ActionDispatch::Session::ActiveRecordStore
~~
get :ping do
p env['rack.session'][:foo]
env['rack.session'][:foo] = "bar"
end
end
答案 0 :(得分:0)
Rails会话讨厌符号,你可以放入符号,但是获取值总是要使用字符串,所以试试session['foo']
我使用葡萄帮助方法来session
访问会话,实际上是env['rack.session']
顺便说一句,如果你想重用你的rails会话,不要忘记将名称设置为与rails会话cookie相同的名称:
use ActionDispatch::Session::ActiveRecordStore, key: '_appname_session'