使用设计

时间:2015-12-26 15:38:30

标签: ruby-on-rails ruby devise

我已将登录和注册放在一个页面中,除非遇到错误,否则一切正常。然后页面重定向到其默认页面并在那里显示错误。在我的情况下,登录会将我重定向到默认的domain.com/users/sign_in,但注册会将我重定向到domain.com/users。

的routes.rb

Rails.application.routes.draw do
  root 'visitor#index'

  namespace :admin do
    # get "/stats" => "stats#stats"
    devise_scope :admin_user do
      get '/stats/:scope' => 'stats#stats', as: :admin_stats
    end
  end

  devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)
  namespace :client do
    get 'dashboard' => 'dashboard#index', as: 'dashboard'
    # resources :verification, only: [:create, :index, :destroy]
    get 'verification' => 'verification#index', as: 'verification'
    match 'verification' => 'verification#upload', as: 'verification_upload', via: [:post, :patch]
  end

  devise_for :users, class_name: 'FormUser', controllers: { omniauth_callbacks: 'omniauth_callbacks', registrations: 'registrations' }
  # devise_scope :user do
  #   root to: 'devise/registrations#new'
  # end
end

1 个答案:

答案 0 :(得分:1)

如果Devise无法进行身份验证,您可以使用CustomFailure类来控制重定向的位置。

在此维基页面上进行了解释......

https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-when-the-user-can-not-be-authenticated