2016-09-22 59 views
0

我想在grape-api中使用Rails activerecord-session_store会话。 但下面代码中的env['rack.session'][:foo]为空。 请告诉我如何解决。葡萄分享rails activerecord-session_store

class API < Grape::API 
    use ActionDispatch::Session::ActiveRecordStore 
    ~~ 
    get :ping do 
     p env['rack.session'][:foo] 
     env['rack.session'][:foo] = "bar" 
    end 
end 

回答

0

Rails的会话讨厌的符号,你可以把符号,而是让你总是使用字符串值,所以尽量session['foo']

我用葡萄helper方法的方式来访问会话作为session实际上env['rack.session']

是顺便说一句,如果你想重用你的Rails会话不要忘记将名称设置为同一名称的导轨会话cookie:

use ActionDispatch::Session::ActiveRecordStore, key: '_appname_session'