как использовать «sinatra / reloader»?

#ruby #sinatra

#ruby #sinatra

Вопрос:

У меня есть мой web.rb , где у меня есть

 require 'rubygems' 
require 'sinatra'  
require "sinatra/reloader"
  

Затем я запускаю свое веб-приложение двойным щелчком мыши на сокращенном web.rb. После любого изменения в web.rb я должен выйти из sinatra и запустить его снова.

Я думал, что «sinatra / reloader» поможет мне не выполнять реальную загрузку вручную.

конфигурация (MS Windows)

  • ruby 1.8.7 (302-й уровень исправления 2010-08-16) [i386-mingw32]

  • sinatra (1.2.6, 1.0)

  • sinatra-advanced-routes (0.5.1)
  • sinatra-reloader (0.5.0)
  • sinatra-sugar (0.5.1, 0.5.0)
  • тонкий (1.2.7 x86-mswin32)

Комментарии:

1. у меня это работает. какие версии sinatra и ruby вы используете?

2. Это довольно странно. У меня это работает в этой конфигурации. в любом случае, вы можете попробовать использовать sinatrarb.com/faq.html#reloading этот метод. Кстати, вы пробовали все эти методы? github.com/rkh/sinatra-reloader/blob/master/README.md

3. Я попробовал только первый метод = require "sinatra/reloader" . Shotgun не работает в Windows

4. какие изменения в web.rb вы вносите?

5. например, добавление нового представления (get ‘/tt’ do haml :tt end ) или изменение кода ruby. У меня там есть некоторые функции…

Ответ №1:

 register Sinatra::Reloader
  

Я перешел на rack-reloader несколько месяцев назад, понял, что это плохо работает даже при взломах
переключился обратно и забыл использовать register

недостатком sinatra иногда является немного более понятная документация

Комментарии:

1. В верхней части подкласса Sinatra.

Ответ №2:

если я запускаю свое веб-приложение из командной строки dos через «ruby web.rb«, все работает нормально

если я запущу свое веб-приложение

  • дважды щелкните web.rb или
  • из пакетного файла

приложение запускается, но sinatra-reload не работает

@nash спасибо за вашу помощь