用Devise登录后如何设置会话变量?

时间:2014-02-03 13:26:26

标签: ruby-on-rails devise

我试图在用户使用Devise登录后找出设置会话变量的位置。我找到了这篇文章(和其他人):

Set a session variable in devise on sign in

所以我尝试过这样的事情:

protected
    # when a user logs in
    def after_sign_in_path_for(resource_or_scope)
      session[:current_account_id] = current_user.accounts.find_by_is_default(true).id # get id of row where it's is_default is set as true
      abort(session[:current_account_id])
    end

..但没有快乐。我不想做另一种重定向(因为链接中的问题是询问),只需在用户登录时设置一个会话变量,所以我不确定这是否是我想要的回调。此外,我可能有我的find_by_方法错误,但我希望我可以调试(使用abort)一旦脚本到达那么远 - 但它似乎并不像中止似乎没有被调用。任何帮助非常感谢。感谢

1 个答案:

答案 0 :(得分:0)

确保受保护的方法位于ApplicationController内部。

相关问题