从实例方法中获取sinatra环境



判断环境的正确方法是什么?现在我用的是:

class Main < Sinatra::Base
    get '/' do
        puts self.class.development?
        puts self.class.production?
    end
end

我会使用Sinatra::Base.development?Sinatra::Base.production?,因为这是方法的来源。

self.class.development?应该实际工作。这些都在Sinatra 1.3.1上为我工作:

class Main < Sinatra::Base
  get '/' do
    puts Main.development?
    puts self.class.development?
    puts settings.development?
    puts settings.environment == :development
  end
end

puts Sinatra::Application.environment

#=> production (or test, development)

最新更新