is not a symbol” [duplicate]
原因是 devise 版本不同, 造成的 session 內容不同.
For devise<=2.2.3,
session["warden.user.player.key']=["Player", [player_id], "somehashhere"]
For devise>=2.2.4
session["warden.user.player.key']=[[player_id], "somehashhere"]
若是要舊版兼容新版, 就必須在 application_controller 加入下列code :
before_filter :fix_session
def fix_session
key = session["warden.user.player.key"]
if key && key.is_a?(Array) && key[0].is_a?(Array)
session["warden.user.player.key"].unshift('Player')
end
end
參考來源
沒有留言:
張貼留言