我定义了一些变量:
class App < Sinatra::Base
set :public_folder, relative('public')
set :views, relative('views')
我尝试使用
从我的模型中访问它们options.public_folder
和
settings.public_folder
它们似乎都不存在于模型的范围内。我怎样才能访问其他人?
答案 0 :(得分:1)
以下是工作示例:
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 __ 在这里也很有用。