Job Board

We're going to build a job board in Rails using the tried-and-true method of following the errors that we make!

Rails generators will help us avoid some tedious file creation, but provide a lot less magic than scaffolding (which is what is used in the Suggestotron to create everything for a Topic all at once).

This means we'll a get a little less done today than we did when we built Suggestotron. But we're going to build an app in little pieces, so you can focus on understanding how the pieces fit together.

This exercise is ideal for pair programming. You should use the discussion sections on each page to make sure you understand what you are doing together!

Notable Things

We're assuming you've already explored a Rails app, and are ready for deeper knowledge.

This curriculum is written for Rails 7. Things will get awkward / broken if you're using an earlier version of Rails, so if you haven't done so yet, you need to upgrade to Rails 7 now.

Tips for everyone:

  • When adding code, it's awesome for students to walk through the code line by line and say out loud what is happening. (i.e., "The string is being stored in the instance variable" or "The method snorgle is being defined"). If you do it every time, you'll get really comfortable with the vocabulary of Rails!
  • Error messages are your friend! Read them carefully, and practice understanding what Rails is telling you. Seeing an error and just diving back into your code is a natural reaction, but stop! Then read, think, and talk about what the error means before fixing it.

Working Effectively and Efficiently

We highly recommend you do the following:

  • Bring up your terminal and open 2 tabs:
    • One is for regular terminal stuffs.
    • One will be for the Rails console. We'll explain later.
  • Open your browser fresh or hide any windows you already have open.
    • Bring up one window with two tabs
    • One for this content
    • One for interacting with your app.
  • Open your text editor and don't close it.
  • Hide all extra applications. Turn off Twitter, Facebook, IM, and all other distractions.

By minimizing the number of things you interact with, you reduce the amount of time spent switching between them and the context lost as you work through the lessons. Having 50 tabs open in your web browser gets confusing.

Next Step: