我想在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发布于 2016-12-01 18:36:19
Rails会话讨厌符号,您可以将符号放入其中,但要获得值必须始终使用字符串,因此可以尝试使用session['foo']
顺便说一句,我使用了一个grape帮助器方法,以session的身份访问会话,它实际上是env['rack.session']
顺便说一句,如果你想重用你的rails会话,别忘了将名称设置为与你的rails会话cookie相同的名称:
use ActionDispatch::Session::ActiveRecordStore, key: '_appname_session'https://stackoverflow.com/questions/39631479
复制相似问题