从实例方法中获取sinatra环境

问题描述 投票:13回答:3

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

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

但这似乎不对。

ruby sinatra
3个回答
21
投票

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

33
投票

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


1
投票

puts Sinatra::Application.environment

#=> production (or test, development)

© www.soinside.com 2019 - 2024. All rights reserved.