Railsbridge Intermediate Rails

Contents

Site List

Intermediate Rails

Let's build a message board!

Assumptions made by this curriculum

  • You’ve gone through the standard RailsBridge installfest and have successfully completed the Get a Sticker step.
  • You’ve gone through the RailsBridge Suggestotron curriculum at least once before, or maybe a couple of times, or maybe you feel decently comfortable with Rails for some other reason.
  • You want to learn more Rails!!!

Goals

  • Make a thing!
  • Understand what the models, views, and controllers of a Rails app do and how they work together.
  • Get more comfortable using error messages as guideposts and not as scary things.

What’s Going to Happen?

  • We’re going to build a message board system, where there are posts on the front page and you click through to see the original post plus discussion below.

  • We’ve divided this into challenges:

    • Challenge 1: create a new rails app with a static home page
    • Challenge 2: install devise
    • Challenge 3: make it pretty with bootstrap
    • Challenge 4: add pages to create and look at individual posts
    • Challenge 5: make a posts index page
    • Challenge 6: add replying
    • Challenge 7: inline replying on a post
    • Challenge ∞: other features of your choice
  • Each time you get your app into a functional state, before adding any more features, COMMIT TO GIT! The new features will probably break things, which is neat, but you’ll want to be able to roll back to a prior version if necessary.

MAJORLY IMPORTANT NOTE: We called the sections challenges because they are challenging! This curriculum will be most fun as a collaboration — talk things through with your teacher, TAs, and other students. This is a very different style of curriculum than Suggestotron, so don’t be discouraged if you aren’t quite sure what to do next.

How to use this curriculum

  • Challenges are the big chunks of stuff to work on at a given time. These are gated by requirements — once you (or your group) has completed a set of requirements, go on to the next set.
  • Requirements in this curriculum are not entirely divorced from what a requirement is in the agile software development methodology — things that should be in the application as defined by whoever is designing/deciding things about the product. Except here, we’ve also thrown in some non-application requirements, like the ability to explain a concept to a peer.
  • Discussions are led by the teacher; this is the closest this curriculum gets to lecture-y teaching.
  • Hints are what they sound like, as are Tools & References.

  • Teachers only!: there's a teaching guide at http://bit.ly/int-railsbridge-guide

Railsbridge Docs

Source: https://github.com/railsbridge/docs