We'll start with the application layout, which you can find in the views directory, at app/views/layouts/application.html.erb.
Discussion: What's an application layout?
How is this page related to the individual page content? Try comparing the source in the browser to this file, and see where the individual page's code starts showing up.
If you add something (say, an h1) to this file, where will it show up?
Add the markup
Copying and pasting a nav bar onto every. single. page. of our application would be the worst. So instead of putting it into our individual pages, we'll add the nav bar HTML to this file!
Add the following code above the line <%= yield %>
We use Rails link helpers instead of typing in <a href="/jobs/new">Add Job</a>. The reason is that if the url of a page changes in the future, without the link helpers, we’d have to update every single place we link to that page. The link helpers abstract the actual url for us, so if we change a specific url, we update the address in only one place, in the routes file; and all the places we link to it stay the same.
The <header> tag is HTML5. Aren't we cool!?
So let's take a look at it. Refresh, and ... isn't that horrifying looking? Let's make it look like a nav, albeit a very ugly one.
Add the styles
Open up the assets directory, and you should have a file here: app/assets/stylesheets/jobs.css.scss. This is a Rails-default created stylesheet, and isn't the best. Smart CSS people have taught us that CSS should be organized into reusable components, not organized based on where it is used.
So let's delete that file and make a new one.
Actually, we're going to make two new ones. Under app/assets/stylesheets, add global.css.scss: