我希望能够从./views的子目录(例如./views/admin)获取Sinatra视图。我知道你可以像这样设置视图:
set :views, Proc.new { File.join(root, "templates") }
但是我怎么能只为文件的一部分设置呢?
答案 0 :(得分:61)
我不确定你要问的是什么,但你可以通过这样做在views/admin
中呈现一个视图:
erb :"admin/report"
如果您在询问views
时询问如何自动查看erb :report
的子目录,我不知道该怎么做,而且我认为您不想(如果不同目录中的两个视图具有相同的名称,会发生什么?)。
答案 1 :(得分:0)
这应该是一个过大的注释。 Alex提供的答案是正确的,但是可以肯定的是,这是来自official documentation的引文:
要记住的重要一件事是,即使模板位于子目录中(在这种情况下,请使用:
:'subdir/template'
或'subdir/template'.to_sym
,也必须始终使用带有符号的模板进行引用。您必须使用符号,否则渲染方法将直接渲染传递给它们的所有字符串。