在Website
类中,我可以获得root settings.root
。在课外,我看不到如何获得类对象的句柄。
我可以在路由块中插入一个实例变量@root = settings.root
,这将使根可用于HAML。这是正确的方法吗?
class Website < Sinatra::Base
configure do
set :root, File.dirname(__FILE__)
end
get '/' do
haml :index, :layout => :base
end
端
答案 0 :(得分:1)
我认为正确的方法是使用:locals
哈希作为haml
调用的参数,如下所示:
class Website < Sinatra::Base
configure do
set :root, File.dirname(__FILE__)
end
get '/' do
haml :index, :layout => :base, :locals => {:root_path => settings.root}
end
end
在视图的模板中,您可以访问root_path
变量。