如何在Devise中登录或注销后执行某些功能?

时间:2016-05-04 21:15:51

标签: ruby-on-rails devise

我需要在登录和退出应用程序时获取用户的历史记录。 我在前端devise使用model user(我在后端登录model adminUser / ActiveAdmin Devise}

如何在其他表中保存该信息的情况下执行函数?

当前routes.rb:

Rails.application.routes.draw do

  devise_for :users
  devise_for :admin_users, ActiveAdmin::Devise.config

  ActiveAdmin.routes(self)

end

1 个答案:

答案 0 :(得分:0)

在设计中我覆盖默认控制器,同时使用super来调用父级中同名的方法,然后运行之后,您可以执行任何您想要的操作。

例如:

class Users::SessionsController < Devise::SessionsController

   # POST /resource/sign_in
   def create
      super
      # >> Do some stuff
   end

   # DELETE /resource/sign_out
   def destroy
      super
      # >> Do some different stuff
   end

end

我不是100%确定这是你的意思,但我希望它有用