通过Sinatra路由您的请求以便在没有处理的情况下提供文件的正确方法是什么?我正在寻找人们在Sinatra框架中最常见的方式吗?我通常将所有静态内容放在“内容”路径中。
例子:
/内容/ CSS
/内容/ IMG
/ content / js
如何使用通配符提供内容下的所有内容?
我很惊讶这里没有真正的例子:
http://sinatra-book.gittr.com/
答案 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