正在添加子域约束



我当前在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

我对这个约束的理解是,您只能通过子域访问页面#show action。但是您也允许使用resources方法进行访问。因此,约束没有效果。

您没有限制对任何其他控制器的访问。也许你想这样包装你的路线:

constraints subdomain: '' do
resources :pages, only: %i[index show create]
end
constraints subdomain: 'pages' do
get '/:id' =>  'pages#show'
end

相关内容

  • 没有找到相关文章

最新更新