ruby-on-rails-3 - 子域约束(Rails 3)使本地服务器(瘦)如此慢

标签 ruby-on-rails-3 routes subdomain localhost thin

我最近向我的 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 

为了在本地测试子域路由约束,我将此行添加到我的主机文件中。

127.0.0.1       new.localhost.local

现在,我在浏览器中通过 URL new.localhost.local:3000 测试我的应用程序。加载每个页面大约需要 10 - 15 秒,速度非常慢。如果我删除子域限制并直接访问 127.0.0.1:3000,一切都会变得又快又快。

我做错了什么?我是 Rails 新手,所以请告诉我是否有更好的方法在 Rails 中进行子域路由,或者是否有我需要配置的设置。

最佳答案

想通了。这与 Rails、子域或 Thin 无关。事实证明,与其他 unixy 事物不同,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/

关于ruby-on-rails-3 - 子域约束(Rails 3)使本地服务器(瘦)如此慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256485/

相关文章:

ruby-on-rails - Rails 合并两个 ActiveRecord::Relation 的

ruby-on-rails-3 - Rails rspec和omniauth(集成测试)

ruby-on-rails - rails 3 : Call back for when a certain object is pulled from the database (Mongo Mapper)

node.js - 如何在快速路由中指定可选参数名称?

ruby-on-rails - Rails - 基于路由名称的路由重定向

set - 如何使用无cookie的域(yslow)

Linux 路由添加子域通配符 -host *.domain.com

ruby-on-rails - 使用 Rails 和 PostgreSQL 的双主键索引

routes - 无法通过IP地址访问Docker容器

laravel - 将 'auth' 中间件与子域一起使用