Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Comprehensive Ruby on Rails to your Wishlist.

Add to Wishlist

Comprehensive Ruby on Rails

This is a comprehensive Ruby on Rails development course created for individuals who want to build powerful web apps.
4.7 (75 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,473 students enrolled
Created by Jordan Hudgens
Last updated 6/2016
$10 $20 50% off
14 hours left at this price!
30-Day Money-Back Guarantee
  • 6.5 hours on-demand video
  • 1 Article
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
By the end of this course you will be able to build production level applications, completely from scratch, using the Ruby on Rails development framework
View Curriculum
  • Computer
  • Connection to the Internet
  • Basic computer skills

Update March 2016 - New lectures have been added for: upgrading to version 4.2 of the Rails framework, how to edit nested resources, and cleaning up notifications. I also added a guide for how to install the Ruby on Rails framework locally on Mac and PC.


What does it take to become a full stack web developer? Well, you need to know: server side coding, database design, HTML, CSS, algorithm development, file manipulation, routing, API integration, and the list goes on and on. Trying to learn each of these topics individually can feel overwhelming and finding out how they are all connected cause most developers to quit before they even start.

It’s for these reasons why I wanted to create a unique course that will walk you step by step through every skill you will need to become a full stack web developer, and I do it by showing you how to build an actual production application. Starting completely from scratch I explain how to setup your environment, create the application, build in advanced features and finally deploy to the web!

Some of the key skills you will learn in the course are:

  • Rails scaffold generators
  • How to use git repositories
  • Building custom file uploaders and downloaders
  • Database modeling and query generation
  • Creating and handling form data for input into the database
  • Setting up secure user logins
  • Building a search engine for the app
  • HTML and CSS customization
  • How to use the Rails console
  • How to deploy the application to a live website
  • How the Model - View - Controller (MVC) framework works in action
  • Object oriented programming (OOP)
  • And much more!

Each video in the course has a link where you can access the code that was created for that specific stage in the course, making it easy to follow along. After completing the course you will earn a certificate of completion for Comprehensive Ruby on Rails development and you will be ready to start building your own applications.

Who is the target audience?
  • This course was made for developers of all skill levels
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 42 Lectures Collapse All 42 Lectures 06:43:59
Introduction to the course
1 Lecture 01:30
Application setup and source version control
2 Lectures 25:19

This is the first video in a series of tutorials walking through how to build robust enterprise applications using Ruby on Rails. In this video you will learn how to set up your Rails environment, create a new application, run a scaffold migration to build out the initial functionality and see the system work in the browser.

Preview 16:46

In this video you will see how to create and push to a git repository, utilizing GitHub will allow for you to host your code remotely, have an easy to access source version management system, and collaborate with others. You can see the code repository for this video here:

Creating a Git Repository for a Ruby on Rails Application
Deploying to the web
3 Lectures 27:33

In this video you will see how to deploy a Ruby on Rails application to Heroku for the first time (along with a number of the errors that come with it). Deploying to Heroku will allow you to showcase your application to customers, friends, collaborators, etc. and it's completely free for developers. To access the code files for this episode, you can view/download it from the git repository:

Preview 13:58

This video explains how to utilize markdown syntax to create and customize a readme file for Github. Your readme file is one of the first things users will see when accessing your application on Github, and it's helpful to have a professional looking readme file in place, and the markdown markup language makes it easy to do. You can access the files for this tutorial at this Github repository:

Markdown Syntax Tutorial

This video will quickly walk you through how to remove a file from a git repository using the unix terminal. This was used for a rails application, however the same technique can be used for any language/framework utilizing a local git repository.

How to Remove a File from a Git Repository
Integrating design functionalities
30 Lectures 05:15:22

In this video I walk through: how to set the root page of the application, edit the application view file and stub out the initial navigation bar.

Preview 09:23

In this video I walk through how to code a functional navigation controller that allows for users to navigate to different pages on the website. I show how to use the rails controller generator and update the routes file.

Making the Navigation Bar Functional

This tutorial walks through how to create and make changes on a git branch, push the branch to a GitHub repository (without altering the main master branch), and then reverting code changes when necessary. To access the code and the Ruby on Rails application that was used, please visit:

Creating a Git Branch

In this tutorial I walk through how to install and configure the Twitter Bootstrap design framework into a Ruby on Rails application. I show how to add the gem, configure the css file and configure Heroku to compile the assets. To access the code for this tutorial, please visit:

Installing Bootstrap into a Rails Application

In this video I walk through how to style HTML tables using the Twitter Bootstrap design framework. The tables are nicely organized with a hover effect when the user rolls his mouse over each row. I also show how to stylize button colors. To see the code for this video, please visit:

Customizing HTML Tables in Your Rails Application

This video walk through how use custom date format by implementing the strftime function into a Ruby on Rail application. You can access the code for this video here:

Strftime Data Formatting

This video walks through how to quickly remove a file from a local git repository using the rm command.

How to Remove a File from Git

This video walks through how to build out the ability to search through a database with a date range in a Ruby on Rails app. In the video I show how to create a custom class, integrate search fields, and set default values. You can access the code for this video on the GitHub page here:

Integrating a Date Range Search Field

In this video I walk through how to install Devise for user authentication. I also show how to use Sendgrid and ActionMailer for emailing confirmation emails (using the Devise confirmable method). This process will enable your application to allow user sign ups, password recovery, sign in and sign out functionality. To access the code for this video, please visit:

How to Install and Configure Devise for User Authentication

If you are using to build your Ruby on Rails application, you may run into this issue when integrating the Devise confirmable option. The key is to realize that Devise was originally setup to work with localhost, and you'll need to use the route path to make the confirmation go through (you could also configure the URL to be your url in your development.rb file).

Fixing a Devise Bug on Nitrious

This video explains how to show and hide links based on whether or not a user is signed into the application. I use the built in Devise method 'current_user' in an if block to handle the logic. The code to this video is on the project's Git repository:

Setting Up Automated Rules for Signed In/Signed Out Statuses

This video explains how to style and customize alert notifications in a Ruby on Rails application. This video leverages built in Bootstrap design classes to style the messages along with adding the ability to close messages.

Integrating Alert Messages

In this video I walk through how to add the ability to upload data into a Ruby on Rails application by uploading CSV files. This is a feature that I use in almost every application I build out, it allows for you to upload data for testing while developing the application and also for end users to quickly add large amounts of data automatically to the database. The code for this feature is located at this commit of the git repository:

How to Build a CSV Uploader into Your Rails Application

This video walks through how to quickly build out the ability to download data from a Ruby on Rails application database and store it in a CSV file. This is a very helpful feature and typically is used in the majority of the applications that I develop. The code for this episode can be accessed on this git commit:

Preview 08:51

In this video I walk through how to use some of the built in Bootstrap classes to style forms in a Ruby on Rails application to make it easier to use and more visually appealing. The code for this tutorial can be accessed on the project's git repository:

Form Customization

In this video I walk through how to use the options_for_select method for enabling a dropdown select box for a Ruby on Rails form. I also show how to perform a database migration by adding a column to a database table, edit the application's strong parameters, and update the view to show the new data. The code for this video is located at the git commit for this feature:

Integrating a Dropdown Element into a Rails Form

This video walks through how to utilize the built in form helper, collection select, to fill in a drop down form element in a Ruby on Rails application. As you watch the video you'll see that I've left in a few mistakes that I made while building the feature, I left these in so you can see some common mistakes that developers can make when building an application, and more importantly how to fix the errors. This video teaches how to use the collection_select method in a form, how to perform a database migration to add a column and how to remove a column from a database. The code for the feature build can be found on the git commit here:

Integrating a Collection Select Form Element

The Rails console is a powerful tool for Ruby on Rails developers, in this video I walk through how to use the console to connect to the database, run queries, store queries in variables, and perform join queries to solve a real world problem. I also show how to use built in methods such as: where, limit, and multiple dynamic find tools. The code for this lesson can be found at the code repository:

Introduction to the Rails Console

This is a follow up video to the last rails console tutorial, in this lesson I walk through a number of more advanced features of the rails console, including: using the sandbox mode, utilizing the previous expression with methods, viewing data as JSON, YAML, and XML, updating a single attribute in the database, updating all attributes in the database, reviewing the data that is stored by Ruby variables, using the destroy method to delete items from a database, and finally the reload! method for reloading the data inside of the console.

Preview 15:58

This video shows a typical way to debug a NoMethodError or an incorrect undefined method call in a Ruby on Rails application. You can access the code for the application up to this point at the git repository here:

Fixing a NoMethodError

In this video I walk through how to add a navigation dropdown element in a Ruby on Rails application. I leverage a number of Bootstrap design classes such as buttons and list items to style the dropdown. This helps the user access different parts of the application without having to type in the URL or take up space on the actual navigation bar itself. The code for this stage of the app's development can be accessed from this specific version of the git repository here:

Creating a Dropdown Navigation Element

This video walks through how to integrate a reference call inside of the parameters of a Ruby on Rails scaffold generator. This is a great way of connecting database tables and ensuring they are properly referenced, especially for relational database relationships. The code for this version of the application is at the git repository:

Using a Scaffold Generator

This video walks through how to add items to the database of a Ruby on Rails application by using this rails console. When I'm building out Rails applications I will usually add some test products into the console using the techniques illustrated in this video to test the relationship mapping and ensuring all of the data types are working as expected. The code for this version of the application can be accessed from the git repository here:

Using the Rails Console to Add Items to the Database

In this video I walk through one of the more complex topics of the course and explain how to integrate nesting. This involves updating the file structure, re-configuring the routes file, and updating both the controllers and views. The code for this version of the application can be accessed from its git repository here:

Preview 15:40

This video walks through how to integrate a form and add nested items under parent items in a Ruby on Rails application. The practical example I use is nesting purchased items under a single invoice, and building in the relationship so that the purchased items all point to specific invoices. You can access the code for this version of the application from its git repository:

Adding Items to Nested Attributes

In this video I walk through how to customize the views and controllers in order to deleted a nested attribute. The example I use in this episode is how to delete a line item from an invoice. You can access the code for this episode at the git repository:

Deleting Nested Attributes

This video walks you through how to add a column to a database table in a Ruby on Rails application using a migration. This is a rather simple task, however it is one that Rails developers do on a daily basis, so it is important to practice and have the commands memorized.

Adding Columns to a Database Table

Rails 4 now requires developers to utilize strong parameters for form data and in this video I walk through how to edit the strong parameters to accept additional values. I also show how to integrate the built in Rails number_to_currency function to automatically format financial data properly. You can find the code to this version of the application in the git repository here:

Utilizing Strong Parameters

This video explains how to perform calculations in a Rails application and utilizes an invoice as an example. In the video I show how to create single calculations per line item by showing the output of the quantity multiplied by the price, and then I also show how to keep a dynamic running total of all of the purchased items per invoice. You can access the code for this repository in this version's repository here:

Performing Calculations in Rails

Thank you for taking the course and please let me know if you have any questions as you develop the Rails application.

Recap of Comprehensive Rails Series
Common Bug Fixes for Rails Applications
2 Lectures 06:27

If you are looking to make your rails server logs more readable, the Quiet Assets gem is a fast and easy way to make the logs more easy to navigate. The gem can be found here: - and thanks to Michal Kwiatkowski for sending me the gem in the first place:

Quiet the Rails Logs

When deploying a Twitter Bootstrap enabled Ruby on Rails application to Heroku, a common bug is for the built in glyphicons to not show up, even if they are working properly on your local development environment. In order to fix the bug, you simply need to edit your production.rb file and change the line that says 'config.assets.compile = false' to 'config.assets.compile = true' and the glyphicons will start showing up properly.

Fixing Glyphicon Bug in Heroku
Course Update 6/17/16
4 Lectures 27:49
Upgrade to Rails 4.2

Implement the Ability to Edit Nested Purchases

Remove Duplicate Notifications

Install Rails Locally on PC and Mac
About the Instructor
4.6 Average rating
1,464 Reviews
25,759 Students
19 Courses
CTO at devCamp

Jordan Hudgens is the CTO and Founder of DevCamp where he leads instruction and curriculum development for all of the DevCamp and Bottega code schools around the US.

As a developer for over the past decade, Jordan has traveled the world building applications and training individuals on a wide variety of topics, including: Ruby development, big data analysis, and software engineering.

Jordan focuses on project driven education, as opposed to theory based development. This style of teaching is conducive to learning how to build real world products that adhere to industry best practices.

Additionally Jordan has published multiple books on programming and computer science, along with developing training curriculum for, devCamp, and AppDev on the topics of Ruby on Rails, Java, AngularJS, NoSQL, API development, and algorithms.

Report Abuse