在Sinatra脚本中,我有代码检查文件是否存在,然后使用正确的呈现显示它。这些文件位于\views
:
get '/:page' do
if File.exists?('views/'+params[:page]+'.slim')
slim params[:page].to_sym
else
raise error(404)
end
end
我想要\public
中的这些文件。请问我该怎么做?:
get '/:page' do
if File.exists?('public/'+params[:page]+'.slim')
slim "/public/"+params[:page].to_sym #=> error
else
raise error(404)
end
end
答案 0 :(得分:0)
没关系,我找到了它:
slim "../public/#{params[:page]}".to_sym
答案 1 :(得分:0)
查看Sinatra文档:http://www.sinatrarb.com/configuration.html
在那里,你会注意到你可以设置:views
属性,它应该处理你需要的东西。他们的示例将其设置为app根目录中的templates/
目录:
set :views, Proc.new { File.join(root, "templates") }