0

我有某些用户设置需要在用户登录时加载并在他注销后销毁他的自定义设置。我正在使用设计宝石。此外,我打算在 Rails 会话中保留此设置记录 ID,以便通过应用程序轻松访问。

当用户注销时,我想做这样的事情:

Setting.delete(session[:settings_id])

其中 Setting 是我的模型类,我将会话中当前加载的 settings_id 保存为 session[:settings_id] = Settings.where(:conditions => hash).id

然后当用户注销时,我将不得不使用从我的设置表中删除记录

    Setting.delete(session[:settings_id]),

因为我当前已经加载了会话中保存的 settings_id。我怎么能和设计一起做呢?

4

1 回答 1

0

Devise 是建立在warden 之上的,它提供了一些你可以使用的回调:

Warden::Manager.before_logout do |user, auth, opts|
  Setting.delete(auth.session[:settings_id])
end
于 2012-08-26T11:01:14.593 回答