Ruby on Rails, Part 3 of 5: Data, Design, and Deploy

Ruby on Rails, Part 3 of 5: Data, Design, and Deploy

LearnNow Online
Updated Aug 23, 2018

Course description

In this course we will review all of the available data types utilized by the ActiveRecord module, how to configure relationships between tables, adding and removing columns, and how to perform database migrations. One of the best ways of connecting to a database in Rails is the Rails console. It's especially adept at showing if relationships are setup properly in an application and the Rails console allows for quickly analyzing how methods will interact with the data. Next we will deploy our application to the web by leveraging the Heroku platform, including the production confirmation requirements and having it display your application properly. Then we will be walking through a number of key features of our application, including how to add design and style elements into our program by integrating the Twitter Bootstrap framework. After integrating some style elements we will build out two major features for our CRM program: a file uploader and a file downloader.

Each LearnNowOnline training course is made up of Modules (typically an hour in length). Within each module there are Topics (typically 15-30 minutes each) and Subtopics (typically 2-5 minutes each). There is a Post Exam for each Module that must be passed with a score of 70% or higher to successfully and fully complete the course.


This course teaches anyone who is interested in learning the basics of programming computers using Ruby on Rails. This course has no programming language prerequisites and only assumes basic familiarity with computer usage. Anyone with moderate computer end-user experience should be able to take this course. Please view the Ruby on Rails: Intro to Development and Ruby on Rails: Best Practices courses before taking this course.

Meet the expert

Jordan Hudgens

Jordan Hudgens has certifications for Ruby on Rails, Thinkful; Ruby on Rails,; Front End Development, Thinkful; and AngularJS, Thinkful. He is currently vice president of engineering for TRACKR in Midland, Texas and is working on his PhD in Computer Science from Texas Tech. In addition to Ruby, Jordan works with PHP, JavaScript, MySQL, Postgres, CSS3, C, C++, C#, Objective-C, and Python. He also works with the frameworks Rails (Ruby), Zend (PHP), and Django (Python), plus the libraries AngularJS, jQuery, and Backbone.js.

Video Runtime

106 Minutes

Time to complete

305 Minutes

Course Outline

Data, Design and Deploy

Database Scheme Modeling (18:28)

  • Introduction (00:31)
  • Data Types (02:34)
  • Relationships (03:03)
  • Migrations (02:47)
  • Add column (01:04)
  • Demo: Migrate Columns (03:28)
  • Demo: Parameters (04:39)
  • Summary (00:19)

Rails Console (16:42)

  • Introduction (00:21)
  • Purpose of the console (01:03)
  • Queries (03:02)
  • Relationships (02:03)
  • Sandbox vs Standard (00:55)
  • Dynamic methods (02:09)
  • Demo: Console (04:05)
  • Demo: More Queries (02:41)
  • Summary (00:18)

Deploy to Heroku (18:30)

  • Introduction (00:26)
  • What is Heroku? (00:57)
  • Configuration (01:01)
  • Sign up (01:44)
  • Heroku console (01:00)
  • Demo: Create Heroku App (05:05)
  • Demo: Deploy to Heroku (04:07)
  • Demo: Add Database (03:45)
  • Summary (00:21)
Design and CSV Files

Design (26:04)

  • Introduction (00:30)
  • Bootstrap (00:55)
  • Elements (00:56)
  • Implementation (00:58)
  • Demo: Install Bootstrap (02:49)
  • Demo: Alerts (04:04)
  • Demo: 2 Other Alerts (03:23)
  • Demo: Nav Bar (04:45)
  • Demo: Table Formatting (03:55)
  • Demo: Table Formatting (cont.) (03:16)
  • Summary (00:28)

Uploading a CSV File (13:40)

  • Introduction (00:23)
  • Uploading a CSV File (00:44)
  • Process (01:47)
  • Demo: Upload CSV Files (04:41)
  • Demo: Leads (05:39)
  • Summary (00:25)

Downloading a CSV File (12:48)

  • Introduction (00:25)
  • Multiple options (01:01)
  • Process (01:53)
  • Demo: CSV File Download (04:38)
  • Demo: CSV File Download (cont) (04:26)
  • Summary (00:23)