Comprehensive Ruby on Rails

This is a comprehensive Ruby on Rails development course created for individuals who want to build powerful web apps.
4.8 (71 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,421 students enrolled
$19
$20
5% off
Take This Course
  • Lectures 42
  • Length 6.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 6/2014 English

Course Description

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.

What are the requirements?

  • Computer
  • Connection to the Internet
  • Basic computer skills

What am I going to get from this course?

  • 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

What is the target audience?

  • This course was made for developers of all skill levels

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction to the course
Course Overview
Preview
01:30
Section 2: Application setup and source version control
16:46

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.

08:33

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: https://github.com/jordanhudgens/enterpriseape

Section 3: Deploying to the web
13:58

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: https://github.com/jordanhudgens/enterpriseape/tree/687fd36e33ba70aa333d93391f70a480fe64f842

11:06

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: https://github.com/jordanhudgens/enterpriseape/tree/9a7ae667a152c207b0a339e497d62669744aa43f

02:29

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.

Section 4: Integrating design functionalities
09:23

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.

17:57

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.

10:28

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: https://github.com/jordanhudgens/enterpriseape/tree/6d5acc29d0c52895ebfbaba98f78832da84a25d9

16:21

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: https://github.com/jordanhudgens/enterpriseape/tree/382720973eeb48c58f6d1e8cb0de88e367366e55

07:57

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: https://github.com/jordanhudgens/enterpriseape/tree/5937fd6203ff05e1159e4c4d4fd81f664382d302

04:10

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: https://github.com/jordanhudgens/enterpriseape/tree/e0a46e96fab46e575e1ca0b0ac5dcb5b754e27ed

02:18

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

23:29

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: https://github.com/jordanhudgens/enterpriseape/tree/004413528c84c804b84525d1620b1fc3d9af6a6e

25:33

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: https://github.com/jordanhudgens/enterpriseape/tree/0bdbd315a3828a1c2f2db409843661e849ab7c29

02:10

If you are using Nitrious.io 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 nitrious.io url in your development.rb file).

06:09

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: https://github.com/jordanhudgens/enterpriseape/tree/9a5287f763906363068aea1503d7331026c11962

07:17

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.

17:03

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: https://github.com/jordanhudgens/enterpriseape/tree/1771473f34ab1d7b5e25803097c739c441a5a659

08:51

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: https://github.com/jordanhudgens/enterpriseape/tree/dd78f6b016553d5b8a03a65280fe1b8825283c61

07:21

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: https://github.com/jordanhudgens/enterpriseape/tree/f496ae26f19fb577fe9d4e9b934a25e55874ada5

13:13

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: https://github.com/jordanhudgens/enterpriseape/tree/8f9e952c9fd92bb3040dc4f44cff604a52b1190d

19:44

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: https://github.com/jordanhudgens/enterpriseape/tree/3769900fe1b6c42d7dd52ea2f27c61a6c5ce6f19

10:39

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: https://github.com/jordanhudgens/enterpriseape/tree/3fef298b3856b6ba821f92a9a7c850879a530003

15:58

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.

02:36

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: https://github.com/jordanhudgens/enterpriseape/tree/7d64e1fddac47aa5e4dc4bbaabda836c157bdd8b

11:06

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: https://github.com/jordanhudgens/enterpriseape/tree/45c3e5dfa882c378c8dafbeb91a70aab4a78e165

04:13

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: https://github.com/jordanhudgens/enterpriseape/tree/4a462093dba9e937be10e472cd667e30836a7740

05:59

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: https://github.com/jordanhudgens/enterpriseape/tree/a27b983b91fffde630e7c0d75c08b9dbc3d390bd

15:40

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: https://github.com/jordanhudgens/enterpriseape/tree/d815bd4adde8877eab043987817634529c06a447

11:36

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: https://github.com/jordanhudgens/enterpriseape/tree/9f07d90e37458916822ac6a5cbc053479b15fa66

12:30

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: https://github.com/jordanhudgens/enterpriseape/tree/ced843aabb3c16163b8ae6ae4c831a6585bafcb6

04:01

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.

06:36

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: https://github.com/jordanhudgens/enterpriseape/tree/13ca183ae984db0995df502883b9c83df35ee167

08:44

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: https://github.com/jordanhudgens/enterpriseape

06:20

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

Section 5: Common Bug Fixes for Rails Applications
02:23

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: https://github.com/evrone/quiet_assets - and thanks to Michal Kwiatkowski for sending me the gem in the first place: https://github.com/mkwiatkowski

04:04

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.

Section 6: Course Update 6/17/16
Upgrade to Rails 4.2
03:48
Implement the Ability to Edit Nested Purchases
21:05
Remove Duplicate Notifications
02:37
Install Rails Locally on PC and Mac
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jordan Hudgens, 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 Learn.co, devCamp, and AppDev on the topics of Ruby on Rails, Java, AngularJS, NoSQL, API development, and algorithms.

Ready to start learning?
Take This Course