Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby / Sinatra - serving up css, javascript, or image files

Tags:

ruby

sinatra

What is the correct way to route your request through Sinatra so that it serves up the file with no processing? I'm looking for the most common way people do this in the Sinatra framework? I normally place all of my static content in a "content" path.

examples:
/content/css
/content/img
/content/js

How can I use a wildcard to serve up everything under content?

I was surprised there were no real examples of this here:
http://sinatra-book.gittr.com/

like image 250
BuddyJoe Avatar asked Aug 16 '10 13:08

BuddyJoe


2 Answers

Sinatra and Rails use the path public for static content - e.g., ./public/javascripts/. All files in these paths would then be served by the web server (e.g. Thin, Passenger), but without the need for /public in the URL (e.g. the file at #{my_app_root}/public/javascripts/application.js would be available via the Web at the URL http://#{my_domain}/javascripts/application.js).

like image 71
yfeldblum Avatar answered Nov 03 '22 20:11

yfeldblum


get '/notes/images/:file' do
  send_file('/root/dev/notes/images/'+params[:file], :disposition => 'inline')
end
like image 10
smenon Avatar answered Nov 03 '22 21:11

smenon