0

Windows Vista/7 の JRuby で Sinatra プロジェクトを自動的にリロードしようとしています。Sinatra-contrib の Sinatra::Reloader を使用しています。残念ながら、コントローラーでしか機能しないようです。モデルとヘルパーへの変更は再読み込みされません。

also_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
4

1 に答える 1

0

あなたの現在の実装の下で、何かを変更したとしましょうhelpers/auth_helper.rb。このファイルはリロードさhelpers/init.rbれますが、変更されていないため、sinatra-reloader によってリロードされず、変更が表示されません。shotgungemを試してみましたか?

于 2012-05-31T07:54:14.310 に答える