我的网站有一些页面,例如example.com/about
我还在api.example.com
为我的应用创建了一个API。
# API
namespace :api, path: '/', constraints: { subdomain: 'api' } do
scope format: true, constraints: { format: 'json' } do
get 'posts/latest', to: 'posts#latest'
get 'posts/:id', to: 'posts#show'
end
end
# Pages
get 'about' to: 'pages#about'
get 'contact', to: 'pages#contact'
问题是,现在我的/about
页面正在处理我的api子域。
api.example.com/about
绝对不应该那样,并且应该触发404。
我真正想做的是将我剩下的所有路线文件包裹在constraints: { subdomain: nil }
中,但我想知道" Rails Way"这样做。
谢谢!
答案 0 :(得分:0)
我真正想做的是将我剩下的所有路线文件包裹在
constraints: { subdomain: nil }
中,但我想知道" Rails Way"这样做。
此是 Rails方式。
典型的Rails应用程序只会监听套接字而不关心域。通常,您的Web服务器将处理域/ IP地址与内部应用程序套接字(例如Apache VirtualHost)之间的映射。
当Web服务器将HTTP请求传递给应用程序时,Rails只对但(子)域的所有内容感兴趣,除非另有配置。