如何解决添加子域约束
我当前在route.rb文件中有以下行
resources :pages,only: %i[index show create]
我希望我的用户通过专用子域访问pages#show
。所以我添加了以下行:
constraints subdomain: 'pages' do
get '/:id' => 'pages#show'
end
(我打算保留两条路线以实现追溯兼容性)
允许用户通过pages.mydevdomain.com/my-page-id进行访问 在开发环境中这样做时,我会收到以下消息:
To allow requests to pages.mydevdomain.com,add the following to your environment configuration:
config.hosts << "pages.mydevdomain.com"
我已经完成并成功了。但是,如果我进入http://pages.mydevdomain.com
,那么我会看到构建的整个应用程序,这意味着该子域不仅仅像我想要的那样用于pages#show
。
解决方法
我对此限制的理解是,您只能通过子域访问pages#show操作。但是,您还允许使用resources
方法进行访问。因此约束没有作用。
您没有限制对任何其他控制器的访问。也许您想像这样包装您的路线:
constraints subdomain: '' do
resources :pages,only: %i[index show create]
end
constraints subdomain: 'pages' do
get '/:id' => 'pages#show'
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。