新手sinatra问题

use*_*282 0 ruby file sinatra

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

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

传入的URL是" http:// localserver:4567/myfile.html".

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

sta*_*son 8

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

静态文件

静态文件由./public目录提供.您可以通过设置:public选项指定其他位置:

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

请注意,公共目录名称不包含在URL中.文件./public/css/style.css以example.com/css/style.css的形式提供.

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