我最近在我的Rails路由文件中添加了一个子域约束
constraints(:subdomain => 'new') do
devise_for :customers do
get "/customers/sign_up" => "registrations#new"
post "/customers" => "registrations#create"
put "/customers/:id" => "registrations#update"
end
match '/' => 'roxy#index'
namespace :roxy, :path => '/' do
resources :customers
resources :surveys
end
end
为了在本地测试子域路由约束,我将此行添加到我的hosts文件中。
127.0.0.1 new.localhost.local
现在,我在我的浏览器中在URL new.localhost.local:3000上测试我的应用程序。加载每一页大约需要10到15秒,这非常慢。如果我删除了子域约束并且只是转到127.0.0.1:3000,那么一切都很快又快。
我做错了什么?我是Rails的新手,所以请告诉我是否有更好的方法在rails中进行子域路由,或者是否需要配置设置。
答案 0 :(得分:5)
想出来。它与Rails或子域或瘦无关。事实证明,与其他unixy-things不同,OS X为mDNS功能保留了.local TLD。对于每个页面,DNS解析在加载我的应用程序之前超时。所以我只是将我的/ etc / hosts文件更改为
127.0.0.1 new.localhost.dev
现在一切都很好。
了解详情:http://www.justincarmony.com/blog/2011/07/27/mac-os-x-lion-etc-hosts-bugs-and-dns-resolution/