ruby-on-rails - Rails - 如何在用户登录时覆盖设计 SessionsController 以执行特定任务?

标签 ruby-on-rails devise

使用 Devise 管理用户 session /注册我需要在每次用户登录时以及在他被设计重定向到主页以进行连接之前执行特定任务(例如更新该特定用户的用户表中的某些字段)用户。

我是否必须覆盖设计 SessionsController,如果是,如何?

最佳答案

或者,您可以创建自己的 session Controller

class SessionsController < Devise::SessionsController
  def new
    super
  end

  def create
    self.resource = warden.authenticate!(auth_options)
    set_flash_message(:notice, :signed_in) if is_navigational_format?
    sign_in(resource_name, resource)
    if !session[:return_to].blank?
      redirect_to session[:return_to]
      session[:return_to] = nil
    else
      respond_with resource, :location => after_sign_in_path_for(resource)
    end
  end
end

而在 routes.rb添加:

devise_for :users, controllers: {sessions: "sessions"}

关于ruby-on-rails - Rails - 如何在用户登录时覆盖设计 SessionsController 以执行特定任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13836139/

相关文章:

ruby-on-rails - Rails 5 ActionCable 错误描述和拒绝连接

ruby-on-rails - rails 5 : disable access to Devise register and login form pages

ruby-on-rails - Rails 3.2 选择表单助手设置只读 true 不起作用

ruby-on-rails - 无法回滚迁移

ruby-on-rails - 将 Rails 4.2.1 降级到 Rails 4.0.2

ruby-on-rails - 测量 SAAS 应用程序带宽使用情况

ruby-on-rails - 我的设计 Controller rspec 中存在 "post create"的问题

ruby-on-rails - 捆绑更新时,Bundler 找不到 gem "railties"的兼容版本

ruby-on-rails - 设计从 1.1.5 升级到 1.4.5 会导致错误数量的参数错误

ruby-on-rails - seed.rb 中的关联