如何在 rails 上使用 Rails_admin 的子域

How to use subdomain with Rails_admin on rails

我的应用程序有 rails 管理员,当我尝试通过输入 localhost:3000/admin 访问 rails_admin 时 它生成 followibg 路由错误

路由错误 没有路由匹配 [GET] "/users/sign_in"

我的设备在 routes.rb 上的路由是

需要'subdomain_constraint'

需要'domain_constraint'

Rails.application.routes.draw做

mount RailsAdmin::Engine => '/admin', 如: 'rails_admin'

约束 SubdomainConstraint 做

use_doorkeeper

root 'org_public/home#index'

devise_for :users, controllers: {
  sessions: 'users/sessions',
  passwords: 'users/passwords',
  registrations: 'users/registrations'
}
class SubdomainConstraint
 def self.matches?(request)
request.subdomain.present? || %w[public www].exclude?(request.subdomain)
end
end

此代码修复了我的错误 我只是将此代码放入 subdomain_constraint.rb 文件

你的 domain_constarint.rb 文件应该是这样的

class DomainConstraint
def self.matches?(request)
request.subdomain.blank? && %w[public www].include?(request.subdomain)
end
end

此代码也修复了错误