我正在尝试在Windows Vista / 7上自动重新加载JRuby中的Sinatra项目。我正在使用来自Sinatra-contrib的Sinatra :: Reloader。不幸的是,它似乎只适用于控制器。不会重新加载对模型和帮助程序的任何更改。
我是否错误地使用了all_reload?
这是我的项目的样子: /app.rb
require 'sinatra'
require 'sinatra/reloader'
require 'json'
class App < Sinatra::Application
enable :sessions
enable :logging
register Sinatra::Reloader
also_reload "models/*.rb"
also_reload "helpers/*.rb"
helpers do
include Rack::Utils
alias_method :h, :escape_html
end
end
require_relative 'helpers/init'
require_relative 'models/init'
require_relative 'controllers/init'
/controllers/init.rb
enable :sessions
require_relative 'auth'
require_relative 'customer'
require_relative 'policy'
require_relative 'forms'
/helpers/init.rb
require_relative 'auth_helper'
require_relative 'customer_helper'
require_relative 'flash_helper'
require_relative 'form_helper'
require_relative 'policy_helper'
/models/init.rb
require 'lib/sqljdbc4.jar'
require 'sequel'
require 'logger'
Java::com.microsoft.sqlserver.jdbc.SQLServerDriver
url = 'foo'
DB = Sequel.connect(url)
DB.loggers << Logger.new($stdout)
Sequel.inflections do |inflect|
inflect.clear :all
end
files = [
:customer,
:customer_email,
:phone_number ]
files.each do |f|
require_relative f.to_s
end
答案 0 :(得分:0)
根据您当前的实施情况,假设您更改了helpers/auth_helper.rb
中的内容。此文件被重新加载,但由于helpers/init.rb
未更改,因此sinatra-reloader不会重新加载它,您将看不到更改。你试过shotgun
gem?