新手sinatra问题

时间:2009-11-10 19:17:48

标签: ruby file sinatra

要使用sinatra返回文件,我一直在使用它:

  get '/:name' do
    x = File.open('c:/mywebsite/' + params[:name],'r')
  end  

传入的网址为“http://localserver:4567/myfile.html

它有效,但它发生在我身上必须有更好的方法,但我找不到sinatra网站上的首选机制。

2 个答案:

答案 0 :(得分:8)

将静态文件放在应用程序目录中的public /文件夹中

  

静态文件

     

静态文件来自   ./public目录。你可以指定一个   通过设置不同的位置   :公共选项:

     

set:public,File.dirname(__FILE__)   +'/ static'

     

请注意,公共目录名称是   不包含在URL中。一份文件   ./public/css/style.css已制作完成   可用作   example.com/css/style.css。

自: http://www.sinatrarb.com/intro.html

答案 1 :(得分:2)

这是一个静态文件吗?如果是这样,我会把它放在应用程序的public目录中。您可以阅读有关静态文件here的更多信息(在页面下方四分之一处滚动以查找标记为“静态文件”的部分)。