BuddyJoe
BuddyJoe

Reputation: 71101

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

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/

Upvotes: 31

Views: 24442

Answers (2)

smenon
smenon

Reputation: 129

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

Upvotes: 10

yfeldblum
yfeldblum

Reputation: 65435

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).

Upvotes: 54

Related Questions