0

在 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
4

2 回答 2

0

没关系,我找到了:

slim "../public/#{params[:page]}".to_sym
于 2012-04-27T12:55:43.310 回答
0

查看 Sinatra 文档:http ://www.sinatrarb.com/configuration.html

在那里,您会注意到您可以设置:views属性,它应该可以处理您需要的内容。他们的示例将其设置为templates/应用根目录中的目录:

set :views, Proc.new { File.join(root, "templates") }
于 2012-04-27T12:56:59.747 回答