我有一个非常简单的Sinatra应用程序:
require 'sinatra'
get '/' do
settings.inspect
end
当我走到根路径时,我得到:Sinatra::Application
这根本不是我所期望的。当我调用development?
方法(NoMethodError
)时,应用程序也没有很好的响应。我觉得这是因为我的环境。我在Windows 8上运行带有Ruby 1.9.3的Sinatra 1.4.4。有关如何解决这个问题的想法吗?
答案 0 :(得分:1)
这是对的,这就是Sinatra的工作方式。
settings
instance method调用类方法(使用self.class.settings
),class method只返回self
,在经典应用的情况下为Sinatra::Application
,以及模块化应用程序中的应用程序类。
使用set
在Sinatra中添加设置时,新的method is created on the app class for it,而不是单独的设置对象。据我所知,没有办法迭代你的应用程序的设置。