1

我定义了一些变量:

class App < Sinatra::Base

  set :public_folder, relative('public')
  set :views, relative('views')

我试图从我的模型中访问它们

options.public_folder

settings.public_folder

它们似乎都不存在于模型的范围内。我怎样才能访问它们?

4

1 回答 1

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 __在这里也很有用。

于 2012-11-18T13:10:32.497 回答