0

現在、/users/sign_inパスが に一致してい/home/allます。そのため、ユーザーが検索するたび/users/sign_inに に移動し/home/allます。ユーザーが間違ったユーザー名またはパスワードを入力すると、 にエラー メッセージが表示され/users/sign_inます。メッセージを表示するにはどうすればよいです/home/allか?

これが私のルートです

get "/users/sign_in" => redirect('/home/all')
4

1 に答える 1

1

ルートをそのまま残すことができます。classesapp の下に(app/classes)としてフォルダーを作成します。次に、次のようなものがあります

/app/classes/custom_failure.rb

class CustomFailure < Devise::FailureApp
  def redirect_url
    home_all_path
  end

  # override the response call
  def respond
    if http_auth?
      http_auth
    else
      redirect
    end
  end
end

必要に応じて、 でフラッシュ メッセージをカスタマイズできます/config/locales/devise.en.yml

最後に、以下のコードを必ず追加してください

/config/initializers/devise.rb

  config.warden do |manager|
    manager.failure_app = CustomFailure
  end

これで準備完了です。

于 2013-03-29T07:25:37.243 に答える