0

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

4

2 回答 2

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"}

希望它可以帮助你:)

于 2012-10-23T16:04:44.813 回答
0

如果我的问题是正确的,那么您问的是如何在他/她登录后重定向用户。

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

这是代码

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

希望我能理解问题的正确含义。!!:)

于 2012-10-23T17:54:08.050 回答