Activerecord Crud


The goal of this lab is to get comfortable performing CRUD (Create, Read, Update, Delete) actions using Active Record.

There are different ways to solve this lab so feel free to experiment!


Before starting this lab run bundle, to get the proper gem dependencies. If your operating system is OSX El Capitan, and you have an issue installing EventMachine, first check to make sure Open SSL is installed by entering brew install openssl in terminal. Once it's installed, enter brew link openssl --force.

Also enter rake -T, which will list all of the rake tasks you have available in this lab. These tasks come with the sinatra-activerecord gem.

Start the lab by running learn or keep reading for more instructions.

Create Table

Try using the rake task rake db:create_migration NAME=create_movies to create your migration file. Once you have a migration file add columns like so:

Column Name Type
title (string)
release_date (integer)
director (string)
lead (string)
in_theaters (boolean)

After your migration is ready run rake db:migrate to migrate your table and rake db:migrate SINATRA_ENV=test to migrate a test database so you will be able to run learn


Run rspec or learn to see the tests. To make them pass open movie_controller.rb and complete each method. It will help to open spec/models/movie_spec.rb to see exactly what each spec is testing for.

In each method the __ corresponds to a line of code you will need to write to make the spec pass.

Each test will take us through performing a basic CRUD action using the database we just created. These tests will take you through:


  • A movie can be instantiated, given a title, and saved
  • A movie can be instantiated with a hash containing all of its attributes
  • A movie can be created in a block


  • You can return the first item in the table
  • You can return the last item in the table
  • You can return the number of records in the table
  • You can return a movie from the table based on its attributes
  • You can use a where clause to select the appropriate movies and sort them by release date


  • Can be found, updated, and saved
  • Can be updated using the update method
  • Can update all records at once


  • Can destroy a single item
  • Can destroy all items at once


Active Record Query Interface.

View Active Record CRUD on 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