ruby-on-rails - 如何更改已使用 Devise 的 token 进行身份验证的用户的 'after sign in path'?

标签 ruby-on-rails ruby-on-rails-3 devise

我在我的应用程序 Controller 中覆盖了 after_sign_in_path_for,如下所示:

application_controller.rb

def after_sign_in_path_for resource
  case resource
    when User
        blah
    when Admin
        blah
  end
end

这在用户通过登录页面登录时有效。但是after_sign_in_path_for当用户通过 Devise's 登录时,根本不会调用方法Token Authenticatable模块。用户被带到 root_path .我怎样才能改变这个?

我正在使用 Rails 3.2.0、ruby 1.9.3p194 和 Devise 2.1.2。

最佳答案

我建议你看看Devise's own ConfirmationsController ,它在我看来就像它的调用 after_sign_in_path_for,并且资源将是我假设的用户。但可能需要用您自己的 Controller 覆盖该 Controller ,因此您可以在确定之前记录资源。

关于ruby-on-rails - 如何更改已使用 Devise 的 token 进行身份验证的用户的 'after sign in path'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14116745/

相关文章:

ruby - 导轨 3 : Use 'before_create' within a module (for ActiveRecord models)

ruby-on-rails - 使用哪个 gem : emberjs-rails vs rasputin vs ember-rails?

ruby-on-rails - Devise 的经过身份验证和未经身份验证的路由

mysql - Rails 部署 : database and app out of sync

ruby-on-rails - Rails 如何在不锁定的情况下触摸 Active Record 对象?

ruby-on-rails - Rails 3:将固定装置转换为一组 ActionController::Parameters

iphone - 如何格式化 POST 以使用基本 HTTP 身份验证和 Devise Rails Gem 创建用户

ruby-on-rails - Ruby ActiveRecord 2 级连接

配置 : error: C compiler cannot create executables when installing Ruby 1. 9.3

ruby-on-rails - 设计和 Rspec - 未定义的方法 `authenticate!' 为 nil :NilClass