Ruby / Sinatra - 提供css,javascript或图像文件

时间:2010-08-16 13:21:27

标签: ruby sinatra

通过Sinatra路由您的请求以便在没有处理的情况下提供文件的正确方法是什么?我正在寻找人们在Sinatra框架中最常见的方式吗?我通常将所有静态内容放在“内容”路径中。

例子:
/内容/ CSS
/内容/ IMG
/ content / js

如何使用通配符提供内容下的所有内容?

我很惊讶这里没有真正的例子:
http://sinatra-book.gittr.com/

2 个答案:

答案 0 :(得分:54)

Sinatra和Rails使用路径public表示静态内容 - 例如./public/javascripts/。然后,Web服务器(例如Thin,Passenger)将为这些路径中的所有文件提供服务,但不需要URL中的/public(例如#{my_app_root}/public/javascripts/application.js处的文件可通过Web获取。网址http://#{my_domain}/javascripts/application.js)。

答案 1 :(得分:8)

get '/notes/images/:file' do
  send_file('/root/dev/notes/images/'+params[:file], :disposition => 'inline')
end