Archive for the ‘rack’ tag
Использование Sinatra внутри Rails Metal
С версии 2.3 в Rails присутствует Rails Metal, который позволяет обработать запросы перед попаданием их в основное приложение. Для более удобного написания кода в Rails Metal можно использовать различные фреймворки, базирующиеся на Rack, в частности фреймворк Sinatra.
Сначала необходимо создать новый Rails Metal с помощью соответствующего генератора:
create app/metal/my_embedded_sinatra.rb
В результате получается следующий Rack обработчик:
Запуск web-приложения на Sinatra с Phusion Passenger
На сегодняшний день одним из самых простых способов запуска Rails и Rack web-приложений является Phusion Passenger, представляющий собой модуль для Apache и Nginx. Фреймворк Sinatra базируется на Rack, следовательно, приложения на его основе Passenger способен легко запускать.
Для приложения необходима базовая структура директорий:
|-- app.rb < -- непосредственно приложение
|-- config.ru <-- Rackup файл для запуска
|-- public/ <-- директория для статических файлов (картинки, css, javascript)
|-- tmp/ <-- временная директория