2012-11-06 10 views
5

Recentemente ho aggiunto un vincolo sottodominio ai miei Rails file di percorsivincolo sottodominio (Rails 3) rende server locale (sottile) così lento

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 

Al fine di testare il vincolo sottodominio di routing a livello locale, ho aggiunto questa linea di il mio file hosts.

127.0.0.1  new.localhost.local 

Ora, eseguo il test della mia app nel mio browser all'indirizzo new.localhost.local: 3000. Occorrono circa 10-15 secondi per caricare ogni pagina, il che è irragionevolmente lento. Se rimuovo il vincolo del sottodominio e basta andare su 127.0.0.1:3000, tutto è veloce e veloce di nuovo.

Cosa sto sbagliando? Sono nuovo di Rails, quindi per favore dimmi se c'è un modo migliore per eseguire il routing sottodominio nei binari, o se c'è un'impostazione che devo configurare.

risposta

5

Capito. Non ha nulla a che fare con Rails o sottodomini o thin. Risulta, a differenza di altri Unixy-cose, OS X riserva il TLD .local per la funzionalità mDNS. Per ogni pagina, la risoluzione DNS era scaduta prima di caricare la mia app. Così ho appena cambiato il mio file/etc/hosts a

127.0.0.1 new.localhost.dev 

e tutto funziona alla grande ora.

Per saperne di più: http://www.justincarmony.com/blog/2011/07/27/mac-os-x-lion-etc-hosts-bugs-and-dns-resolution/