0

Rails アプリでユーザーの認証に devise gem を使用し、ルート ページをログイン ページとして使用することにしました。ログインに失敗した場合にユーザーをルートURLにリダイレクトする方法(以下のコード)の解決策に資金を提供しますが、/users/sign_inの別のログインページではなく、ログインページにルートURLを使用する必要があることを伝える方法がわかりません

class CustomFailure < Devise::FailureApp
  def redirect_url
    if warden_options[:scope] == :user
      root_path
    else
      root_path
    end
  end
  def respond
    if http_auth?
      http_auth
    else
      redirect
    end
  end
end
4

2 に答える 2

0

フォームが機能している場合は、Devise ルート、特にパスに関する情報を探している可能性があります。

devise_for :users, :path => '', :controllers => {:sessions => 'sessions', :registrations => 'registrations'}, :path_names => { :sign_in => 'login', :password => 'forgot', :confirmation => 'confirm', :unlock => 'unblock', :registration => 'register', :sign_up => 'new', :sign_out => 'logout'}

詳細はこちら: https://github.com/plataformatec/devise/wiki/How-To:-Change-the-default-sign_in-and-sign_out-routes

于 2013-10-18T08:45:21.293 に答える