0

制約のある同じデバイス モデル/リソースに対して異なるパスを設定しようとしていますが、最初のパスはこの場合「訪問者」に適用されるパスです。

constraints(ValidSubdomainFrontend) do
    devise_for :users, :path => "visitor", :path_names => { :sign_in => 'login', :sign_out => 'logout', :password => 'secret', :confirmation => 'verification', :unlock => 'unblock', :registration => 'register', :sign_up => 'cmon_let_me_in' }
end


constraints(ValidSubdomainAdmin) do
    devise_for :users do
        get 'users', :path => "admin", :to => 'site_backend#index', :as => :user_root # Rails 3
    end
    devise_for :users, :controllers  => { :registrations => 'users' }, :path => "admin", :path_names => { :sign_in => 'login', :sign_out => 'logout', :password => 'secret', :confirmation => 'verification', :unlock => 'unblock', :registration => 'register', :sign_up => 'cmon_let_me_in' }
end

異なる制約でDeviseを使用して、同じリソースに対して異なるパスを持つことは可能ですか?

使用されている制約は次のとおりです。

class ValidSubdomainAdmin
  def self.matches?(request)
        request.subdomain.present? && 
        request.env['PATH_INFO'].start_with?('/admin')
  end
end

class ValidSubdomainFrontend
  def self.matches?(request)
        request.subdomain.present? && 
        !request.env['PATH_INFO'].start_with?('/admin')
  end
end

これはDeviseでまったく可能ですか、それともバグですか?

4

1 に答える 1