注销后设计更新属性

时间:2014-11-07 23:33:46

标签: ruby-on-rails ruby devise

我在使用设计退出后尝试更新current_user的属性。

如果我使用after_sign_out_path_for(resource),则current_user为nil。

当我使用Warden::Manager.before_logout时,只要用户登录就可以正常工作。

我遇到问题,因为我在同一个应用程序中有一个API和一个客户端(客户端通过API创建,更新,删除等)

还有其他办法吗?也许是自定义动作?

1 个答案:

答案 0 :(得分:0)

只是一个想法。

将用户ID存储在Cookie中。

after_sign_out_path_for(resource)方法中,从此Cookie中查找用户对象并更改属性。

def after_sign_out_path_for(resource)
  user = User.find(cookies[:user_id])
  user.update_attributes(some_attribute: false)
  root_path
end