30

I've been trying out Sinatra on my local Windows machine. I want to include some local CSS and JS files. This is how the code looks in layout.erb

<script src="jquery.js" type="text/javascript">
</script>
<link rel="stylesheet" href="reset.css" type="text/css" /> 

All my files are in the same folder as app.rb

This is my app.rb

require 'rubygems'
require 'sinatra'

get '/' do
  erb :index
end

For some reason, I cant see these files included in my pages. When I view the source code and click on the file(JS/CSS) I see that - "Sinatra doesn't know this ditty"- error.

What am I doing wrong here?

Cœur
  • 37,241
  • 25
  • 195
  • 267
Prakhar
  • 3,486
  • 17
  • 44
  • 61

2 Answers2

40

Move your static files(css/js) into a folder named public. Sinatra looks there with default settings.

If you want to change that behaviour have a look at this: Static Files

scable
  • 4,064
  • 1
  • 27
  • 41
7

By default Sinatra will look for static files in your public folder. You just need to make a folder called public in the same directory as your Ruby file, and place your JS and CSS files there.

Todd Yandell
  • 14,656
  • 2
  • 50
  • 37