2016-09-22 2 views
0

Je veux utiliser la session de Rails activerecord-session_store dans grape-api. Mais env['rack.session'][:foo] dans le code ci-dessous est null. S'il vous plaît dites-moi comment résoudre.Rails de partage de raisin 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 

Répondre

0

Rails sessions détestent les symboles, vous pouvez mettre des symboles, mais obtenir la valeur que vous devez toujours utiliser une chaîne, alors essayez session['foo']

J'utilise une méthode d'aide de raisin par le moyen d'accéder à la session comme session qui est en fait env['rack.session']

Par ailleurs, si vous voulez réutiliser votre session de rails ne pas oublier de définir le nom du même nom que votre cookie de session rails:

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