Gem Devise - 如果用户使用令牌登录,如何将用户重定向到特定URL?

时间:2012-10-23 14:36:57

标签: ruby-on-rails devise

在我的项目中使用Devise Gem并且只有当用户使用令牌登录时,是否有人知道如何将用户重定向到特定网址?

2 个答案:

答案 0 :(得分:1)

您可以通过创建自己的SessionsController来实现这一点,您可以在git

找到它 像这样:

# POST /resource/sign_in
class SessionsController < Devise::SessionsController
  def create
    self.resource = warden.authenticate!(auth_options)
    set_flash_message(:notice, :signed_in) if is_navigational_format?
    sign_in(resource_name, resource)
    #here you can enter your specific token code
    # I guess you would do it with something like:
    # if session[:token] = XYZ
    #   respond with ...
    # else 
    #   respond_with resource, :location => after_sign_in_path_for(resource)
    # end
  end
end

要使用此控制器,您还必须更改config/routes.rb

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

希望它可以帮助你:)

答案 1 :(得分:0)

如果我的问题是正确的,那么您就会询问如何在用户签名后重定向用户。

所以我在我的项目中试过这个

这是代码

def after_sign_in_path_for(resource)
# Use the route you want here (i have given the url like this: '/show')
end

希望我能正确理解这个问题。!! :)