Когда я изменяю код и должен перезапустить сервер, чтобы увидеть результаты. Есть ли выход?
Могу ли я сделать программу Sinatra без сервера перезагрузки?
Ответ 1
Есть несколько вариантов, подробно описанных в Часто задаваемые вопросы по Sinatra. Самым простым является использование shotgun
, который вы можете установить и вызвать следующим образом:
$ sudo gem install shotgun
$ shotgun myapp.rb
или если вы используете определение своего приложения, наследуя от Sinatra::Base
и используя файл config.ru
:
$ shotgun config.ru -p 4567
Ответ 2
Если вы используете Phusion Passenger, вы можете поместить этот файл в корневую папку приложений
TMP/always_restart.txt
и он будет перезагружен при каждом запросе.
http://www.modrails.com/documentation/Users%20guide%20Apache.html (раздел 8.7)
Ответ 3
Лучше использовать перегружатель из материала sinatra-contrib (также из Часто задаваемые вопросы по Sinatra): сначала установите sinatra-contrib gem, а затем убедитесь, что вы файл приложения .rb начинается с этих строк:
require 'sinatra'
require 'sinatra/reloader' if development?
И тогда любые измененные файлы конфигурации будут перезагружены (нет необходимости перезапускать сервер!)