Какая разница между приложением стойки для приложений и рельсов?

Я загрузил приложение rails 2.3.8 DreamHost и получил ошибку о несовместимости версии стойки. Я выдал билет на поддержку, и сервисный парень рекомендовал мне удалить config.ru.

Это решило проблему. Но мне интересно, что бы это сказалось.

Хорошо ли, что приложение rails работает без config.ru?

Ответ 1

Приложение Rack представляет собой веб-приложение, написанное на Ruby, которое использует проект Rack. Действительно простой пример Hello World config.ru выглядит так:

class HelloWorld
  def call(env)
    [200, {'Content-Type' => 'text/plain'}, ['Hello World!']]
  end
end

run HelloWorld.new

Rails 2.3+ использует Rack в качестве основы для обработки HTTP, но некоторые хостинг-провайдеры могут обрабатывать Rails специально и могут не поддерживать запуск Rails в качестве приложения Rack. Это похоже на DreamHost для Rails 2.3.8, по крайней мере, так как вы указали свои требования к жемчугу.