我定义了一些变量:
class App < Sinatra::Base
set :public_folder, relative('public')
set :views, relative('views')
我试图从我的模型中访问它们
options.public_folder
和
settings.public_folder
它们似乎都不存在于模型的范围内。我怎样才能访问它们?
这是工作示例:
class App < Sinatra::Base
…
configure do
set :public_folder, File.expand_path(File.join(File.dirname(__FILE__), "public"))
set :root, File.expand_path(File.dirname(__FILE__))
end
…
end
这是一个如何在视图中访问此设置的示例。就我而言,这是 HAML:
%p= settings.public_folder
%p= settings.root
页面显示:
/Users/sashaegorov/Development/ruby/rvs/public
/Users/sashaegorov/Development/ruby/rvs
在我的系统中哪些是正确的路径。
注意: File.expand_path()
效果很好,它总是有助于获得文件或文件夹的真实路径。__ FILE __在这里也很有用。