Rails Restful Index Action Lab

Objectives

  1. Draw a get route
  2. Map a route to a controller action
  3. Define a controller action
  4. Load instances from ActiveRecord into a controller instance variable
  5. Render a template
  6. Use an instance variable from a controller action in a template
  7. Iterate over an ActiveRecord collection in ERB
  8. Build a classical index action/view

RESTful Routes

In this lab you will walk through how to build each element required to render a list of students out in the browser. The RSpec/Capybara tests for this lab can be found in spec/features. Both tests should be passing to complete the lab.

Instructions

  • Run bundle install from your terminal

  • Create a route that is mapped to a students' controller index action, the resulting route should be /students

  • Create a controller for students and have it inherit from ApplicationController

  • Integrate a controller action in the students' controller for handling the index action

  • Have the new index action call the Student model and pull in a list of all of the students with Student.all and store it in an instance variable

  • Map an index.html.erb view file to the student controller and iterate over the list of students returned from the index action in the controller. The index.html.erb file should be placed within a view/students folder.

Resources

  • If you run into an ActiveRecord::PendingMigration error when you run the tests, try rake db:migrate RAILS_ENV=test in the terminal then run the tests again

Rails Routing from the Outside In

View RESTful Action Index Lab on Learn.co and start learning to code for free.

View RESTful Action Index Lab on Learn.co and start learning to code for free.

Unlock your future in tech
Learn to code.

Learn about Flatiron School's Mission

With a new take on education that falls somewhere between self-taught prodigy and four-year computer science degree, the Flatiron School promises to turn students with little programming experience into developers.

In the six months since the Manhattan coding school was acquired by WeWork, it has spawned locations in Washington, D.C., Brooklyn, and London. Now, WeWork is opening a fourth Flatiron School location, this time in Houston.

Adam Enbar, Flatiron School's cofounder, believes now is the time to grow. "How the world is changing has impacted working and learning in very similar ways. We think education fundamentally is about one thing: enabling people to pursue a better life."

Learn. Love. Code.
Students come to Flatiron School to change their lives. Join our driven community of career-changers and master the skills you need to become a software engineer or a data scientist.
Find Us