0

私のプロジェクトでDevise Gemを使用していますが、ユーザーがトークンでサインインした場合にのみユーザーを特定のURLにリダイレクトする方法を知っている人はいますか?

4

2 に答える 2

1

これを行うには、 gitで見つけることができる独自の SessionsController を作成します。

このような:

# 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 に答える