Подтвердить что ты не робот

Ищете структуру приложений в стойке и спецификации config.ru?

Это, вероятно, заставит меня выглядеть хромым, но все же - я не могу найти никакого формального описания для типичной структуры приложения стойки (папки/файлы, например public, config.ru) или содержимого файла config.ru.

В мире Java есть четкое определение веб-приложения и его частей (WEB-INF, META-INF web.xml).

Существует ли спецификация веб-приложения Rack вообще? Или это нечто расплывчатое, как сам Рубин.

Я ожидал найти эту информацию где-то на http://rack.rubyforge.org/, но я не смог. Пожалуйста, укажите мне в правильном направлении.


Хотя я отметил этот вопрос как ответ, стоит упомянуть, что сам вопрос не очень легитимный. Структура приложения управляется самой используемой комбинацией веб-сервера/плагина, такой как Apache/Passenger, а не Rack.

4b9b3361

Ответ 1

A Веб-приложение стойки так же просто, как:

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

и столь же сложны, как приложения, построенные на таких фреймворках, как Rails, Sinatra и т.д., построенные на Rack.

Относительно структуры вы можете создать свой. С Rack вы создаете контент так, как хотите, чтобы он был структурирован. С помощью Rack вы в основном выводите необработанный HTTP-контент.

" Представляем стойку", " 32 Ресурсы стойки, чтобы начать работу" и " Введение в промежуточное ПО промежуточного уровня - это ресурсы для лучшего понимания стойки.

Что касается структуры, у вас есть свобода в организации файлов для набора webapp. У вас могут быть другие приложения Rack в разных файлах; Все, что вам нужно, это правильно потребовать эти файлы.

Приложение Rack может быть любым классом Ruby, который отвечает на сообщение :call с помощью env, как и приложение HelloWorld выше.

Ответ 2

Вы проверили Rack Wiki? Он содержит кучу различных ссылок на учебные пособия, презентации и т.д. (Но я не уверен в спецификациях.)