
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Introduction to the course, instructor and brief overview of what is covered
Let's get started with Ruby by coding what we covered in the preceding quiz
Learn how to use the resources provided in the course, including video and text files. Also learn about the different sections and content
Decide whether to sign up for online Integrated Development Environment or to develop locally
Due to changing nature of development tools, IDE's and installation procedures, updates are posted in this text lecture
The next few videos in this section are preview videos for the web apps built in different sections of this course. This lecture discusses their content
Preview of the Project Management App that will be built in the bonus section (section 10)
Preview video for MessageMe chat application built in section 8 of the course
Preview of Finance Tracker app, rapid prototyping using generators, ajax and much more, built in section 8
Preview of the last section in the course which shows how to use MaterializeCSS (Instead of bootstrap) as front-end
Preview of the alpha-blog application built to understand the fundamentals of Rails with minimal use of generators over to end of section 7
Get free live help for this course, check in anytime, users are usually online who can help you out, otherwise check in on official office hours currently set Tuesdays and Thursdays 9-10pm (EST)
Introduction to the Ruby programming language and explore 3 different ways of writing a program to say "Hello World!"
Text code as follow-up for lecture on introduction to Ruby
Start working with Strings
Working with Strings in Ruby
Working with Strings in Ruby - text with directions, references and code
Code for the Analyzer program homework assignment
Working with numbers and methods in Ruby
Working with numbers in Ruby - text with directions, references and code
Text code for homework solution for working with numbers - Advanced Analyzer Program
Introduction to comparison operators in Ruby
More methods and branching techniques in Ruby
Explore branching with if/elsif/else/end blocks
More methods and branching techniques in Ruby - text with directions, references and code
Working with arrays and iterators in Ruby
Working with arrays and iterators in Ruby - text with directions, references and code
Working with hashes in Ruby
Working with hashes in Ruby - text with directions, references and code
Project explanation and handoff
Implementation of authentication project
Code for completed authenticator project
A guide to styling in Ruby (indentation, tabs, spaces and more)
Ruby styling - text with directions and references
Homework assignment to build an area code dictionary using a hash structure
Text instructions for Homework Assignment to build an area code dictionary
Solution to the homework assignment to build an area code dictionary
Solution to homework assignment of creating an area code dictionary - text version
Try ruby to practice ruby skills acquired so far (Note: try ruby site has changed, new link to access it provided in the previous text lecture)
Classes, Objects, Instance variables and more
Text directions, references and code for intro to object oriented programming - working with classes, objects, instance variables and more
Introduction to inheritance and modules in Ruby
Introduction to inheritance and modules in ruby - text directions, references and code
Final project for Ruby section part 1 - working with and learning about MD5 hashing with salt and using bcrypt gem
Text follow-up to previous video lecture
Add methods that will aid in a user authentication system
Text follow-up to prior video lecture
Learn how to create and use a module
Text follow-up to prior video lecture
Brief look at what self.method_name accomplishes
Bringing it all together
Conclusion of the project and section 2
Introducing the Ruby on Rails framework
Text follow-up for Intro to Section 3 and Ruby on Rails kickoff
Structure of a Rails application explained
Text follow-up to lecture on MVC structure of Rails applications
Complete local installation or Cloud-based IDE setup of Ruby on Rails prior to moving forward from this point in the course.
Learn how to build a route, add a controller and actions
Text directions and references for root route, controller and more MVC
A detailed look at the structure of a Rails application
Text references for the prior video on the structure of Rails applications
Introduction to Git, version control and using Git for version control
Text references for the previous video lecture on version control with Git
Setup an remote code repository using Github and push local code to the repository
Text directions and references for setting up online code repository
Lecture with resources to learn and practice HTML/CSS
Text references from the prior video lecture on learning HTML/CSS
Learn how to add additional views and homework assignment
Text directions and code for the prior video lecture
Optional: Deploy app to production using Heroku
Text directions for deploying app to production using Heroku
Intro to Create, Read, Update and Delete database operations, scaffold generators and wrap up Section 3
View a demo of creating an articles resource using scaffold generators - which provide all CRUD actions out of the box
Text directions, references and code for CRUD database operations and scaffold generators
Preview of Alpha Blog App, application built from scratch without generators to understand fundamentals of rails applications, built through to end of section 7.
Introduction to working with rails back-end: tables, migrations and naming conventions
Text directions and references for working with tables, migrations and naming conventions
Learn about models and working with the rails console
Text directions and references for the previous video
Learn how to perform CRUD operations from the rails console
Text directions and code for performing CRUD operations from the rails console
Learn how to add validations or constraints to models
Text references for video on validations
Learn how to build the show articles feature
Text references and code for adding the show action for articles
Build an articles listing feature
Text directions for adding an articles listing page
Add ability to create new articles by adding a new article creation form
Text references and code for creating new articles from the browser
Add the create action to save articles to the articles table
Text directions and code for the create action to complete the new article creation process
Display helpful messages to users of the app
Learn to display validation error messages and flash display
Add ability to update existing articles
Text reference follow-up to the edit and update actions
Add ability to delete existing articles
Add the deleting articles functionality
Add helpful links to perform app functions and navigation
Text reference for all the code added to cleanup the layout of the application
Cleanup code using code refactoring and partials
Extracting away code redundancies using refactoring and form partials
Deploy application to production and wrap up section 4
Deploy code to production using heroku
Introduction to styling and mockups
Learn to use Bootstrap for styling
Learn the difference between Rails 6 and earlier versions in how they handle front-end assets, also learn how CSS and JavaScript is managed by Rails apps.
Text directions, references and code for installing bootstrap-sass
Install Bootstrap in earlier versions of Rails
Text directions and code for completing homepage
Build homepage using Bootstrap
Text references for building homepage
Modify layout links using Bootstrap classes with Rails code
Layout links - text references
Add styling to the articles index view
Text directions and code for styling index view
Add styling to the form partial shared by new and edit templates
Text directions and code for styling articles listing view
Style validation messages, flash messages and deal with field_with_errors div
Text references for video on styling messages
Add styling to the articles show page
Text references for the show view styling video
Clean up views and layout, deploy application to production and wrap up section 5
Text reference for code changes made in the previous video
Introduction to the section covering users, one-to-many associations and ERD
Introduction to associations between models and implementation demo using the rails console
Create User model and users table
Text directions and code for creating User model and users table using feature branch
Add validations to User model
Text directions and code for adding validations to User model
Add a one-to-many association between users and articles
Text directions and code to add the one-to-many association between users and articles
Show user data in articles
Text directions for showing user info in articles
Use the before_save method to change email to lowercase before saving to the database
Text follow up to the previous video
Add secure passwords to users for authentication system
Text directions and code for intro to authentication with adding secure passwords to users
Add new user signup form
Text directions and code for new user signup
Create new users based on information submitted from new user creation form and clean up layout
Text follow-up to the previous video lecture on creating new users
Add ability to edit existing users
Text reference for editing existing users
Add ability to display users profile with a gravatar image
Text directions and code for showing user profiles with gravatar image
Add a users listing page
Text directions for adding a users index page
Perform some basic layout cleanup actions
Text reference for updates made in the previous video
Add pagination to views to add limits to listings displayed per page
Text directions for adding pagination to the application views
Roll out authentication system with login form for users
Text directions and code for adding a login form for users
Simulate logged in and logged out state for users
Text directions and code for creating and destroying user sessions
Create methods to use throughout the app for authentication system
Text references and code for creating authentication helper methods
Add auth methods to controller and use as helper methods in views as well
Text references to changes made in the last video
Restrict user actions from the browser
Text references for restricting user actions from the browser
Update navigation partial to include restrictions and a users profile dropdown
Text references based on updates made in the previous video
Restrict certain actions at the controller level
Text references for the previous video
Restrict user actions at controller level
Text directions and code for restricting actions at controller level
Add ability for users to delete their own accounts
Text references for previous video
Introduction to admin users and permissions
Text references for previous video
Add admin user functionality to the application
Text references for adding admin user access throughout the application
Assignment to alter the color of flash messages depending on message type
Text solution to assignment
Wrap up section 6
Introduction to section 7 and what is covered
Create category model and build unit tests
Text directions and code for creating category model and unit tests
Add validations to the category model using unit tests
Text references for code used in the prior video
Create categories controller and tests
Text references for categories controller and tests
Modify functional test and create category
Text directions and code for creating categories with integration tests
Add an integration test to test the whole business process of creating a category
Text follow-up to the previous video
Build integration test to check for invalid category creation
Text references for creating invalid category integration test
Build integration test and listing category feature
Text references for building listing categories feature with integration test
Admin user requirement for category feature and test
Text references for admin user requirement and test
Update navigation to account for categories
Text references for updating navigation
Introduction to many-to-many associations and association between articles and categories
Implementation of many-to-many association between articles and categories
Text references for code updates made in previous video
Category association at article creation
Text references for adding association with categories when articles are created
Update views to incorporate categories
Text direction and code for updating views to account for categories
Complete index and show views for categories
Text follow-up to the previous video
Add ability to edit existing categories
Text references for editing existing categories
Deploy Alpha blog to Heroku, homework assignments and wrap up section 7
Text reference for wrapping up section 7 and Alpha blog
Preview video for the MessageMe chat app built in this section
Important notes to consider before starting this section
Start the new rails application
Set up git and github repositories for the app
Setup a couple of views for our application
Install a front-end framework to rapidly prototype the application layout
Use semantic ui to add a clean navigation menu for the app
Create a navigation partial to extract away code and add some javascript to enable dropdown functionality for the menu
Add a favicon to display next to title
Build the chatroom
Complete design of the chatroom
Build login page for users
Upon completion of the front-end, let's explore the back-end structure of the app
Add the users resource for the application
Add messages resource to the application, messages will belong to users
Remove hardcoded messages and replace with actual ones from db
Learn a shortcut to iterating code blocks by using partials
Update form with ERB code and add authentication methods
Add ability to create and destroy sessions, along with routes and restricting views
Add flash message display capacity and styling
Add restrictions to specific views from the controllers
Add ability to enter messages directly from the UI by logged in users
Explore how websocket and actioncable work to make real-time possible
Take a deeper look at how ActionCable can be used and the components that go into it
Create the channel and add a route for it
Use ActionCable to broadcast new messages
Use existing partial to display newly created messages real-time
Add scroll functionality to chat window
Automate clicking of create button using the enter key and a custom scope
Final project for this section
Notes about upcoming sections
Preview and details of the Finance (Stock) Tracker Social Media App built in this section, section 9
Requirements for finance tracker app and restrictions
First assignment for finance tracker app
Application status at the completion of assignment 1
Second assignment for finance tracker app
Application status at the end of assignment 2
Initiate building the authentication system for the app using the devise gem
Use the devise gem to create users for the application
Test the newly created authentication system
Assignment and helpful resources to add Bootstrap 4 to the application for front-end styling
Implementation walkthrough of adding Bootstrap 4 for the application
Add gem and automate styling of views
Update layout of the application
Cleanup layout with a navigation partial and style messages
Setup mechanism for getting stock information using API key
Create stock model and stocks table with attributes
Build a class method to lookup stock information using the API key
A look at how Rails handles sensitive info
Use secure credentials for API key
Explore and build the front-end structure for looking up stock information
Creating a working form to lookup stock prices using ticker symbols
Setup functionality to display retrieved stock price info in the browser
Create stock objects and utilize partials to display info in favorable format in the browser
Dealing with entries of invalid and empty ticker symbols
Learn to work with Ajax for form submission
Setup JS response to handle form submission made via Ajax
Deal with invalid form submission responses with JavaScript
Intro to the many-to-many association between users and stocks
Setup user_stocks table and resource to deal with many-to-many association between users and stocks
Add stocks listing view for tracked stocks
Cleanup layout of application - navigation, logout etc.
Setup stock tracking functionality from the browser
Implement stock tracking restrictions based on requirements
Add functionality to stop tracking stocks which were previously being tracked
Add first and last name fields to users
Update app functionality to accept first and last names for users
Complete new user registration assignment following edit user example
Intro to self-referential associations
Solution walkthrough for friends list view
Create a form which will be used to search for friends/users
Respond with JS to submission of the form
Build search methods step-by-step to search for users/friends using the app
Display user/friend search results
Implement functionality to remove friends who are currently tracked
Implement add friend functionality from the browser
Build profile page for users/friends with tracking options for both users and stocks
Assignment upon completion of finance tracker
Production email with Sendgrid, Custom payment and registrations with Devise and Stripe API, file hosting with Amazon Web Services S3 bucket
Start new rails photo app and complete setup steps
Text directions for setup of new rails photo app
Setup devise and views
Text directions and code for setting up authentication system
Setup email in production
Text directions and code for sending email in production
Add updates to the layout of the app and test email functionality in production
Text directions and code for updating layout and testing email in production
Create the homepage for the app
Text directions and code for building homepage
Using stripe for payment management
Text directions, references and code for working with stripe
Creating a payment model to handle payments made by users
Text directions and code for payment model
Update signup form to integrate credit card payment fields
Text directions for updating form for credit card fields
Javascript for handling credit card info and submission
Text directions and code for handling javascript events
Change default gem functionality and customize for app
Text directions and code for extending default functionality for devise registrations controller
Remove turbolinks to fix a bug with payments
Text directions for fixing payment bug
Implementing image upload and storage
Text directions and code for implementing image upload functionality
Restrict size of images
Text directions and code for image size validations/restrictions
Amazon Web Services - S3 bucket and more
Text directions and code for working with Amazon Web Services S3 bucket for storage
Complete and Deploy!
Text directions and code for completing production image upload and deploy
Now featuring Rails 6 - the latest version of the Ruby on Rails framework.
Ruby on Rails Web Developer average salaries by city as of January 2020 (according to Glassdoor):
New York - $95,000/yr, Boston - $97,000/yr, San Francisco - $100,719/yr
Need more reasons on "why Ruby on Rails?"
Since its introduction, Ruby on Rails has rapidly become one of the most popular and powerful web application development tools for both startups and mature software companies. Some of the top sites in the world started with Ruby on Rails such as Basecamp, Twitter, Shopify, Github, LivingSocial, Groupon, Hulu, Airbnb, Yellow Pages and many more! Even after immense scaling, most of them continue to use Rails! Ruby on Rails developers routinely command the highest salaries in the tech industry!
The Complete Ruby on Rails Developer is:
#1 Web development course with Ruby on Rails on Udemy. 64,000+ students, 9500+ ratings, 57% of them are 5-star!
#1 Best-seller in Ruby on Rails since it's launch
This is the only course you'll need where you learn how to build everything from simple to complex, deployable, production-ready web applications
This course currently features the Ruby programming language, 5 total apps -- Alpha-blog and Finance Tracker featuring Rails 6, MessageMe and University app featuring Rails 5 and a SAAS app upgrade to Rails 6 underway!
The Complete Ruby on Rails Developer Course provides a thorough introduction to Web Applications Development using the wildly popular Ruby on Rails framework. With 40+ hours of engaging video lectures and text follow-up lectures with directions, references and code, this course is designed to:
- Take students with no prior programming or web application development experience to accomplished web application developers specializing in Ruby on Rails.
- Give students with prior experience in Ruby on Rails or web development a leg up in the industry by helping them learn the ins and outs of back-end development with Rails and building complex apps at will.
- Give professionals and students alike the avenue by which they can switch to Ruby on Rails as the back-end development framework of choice so they can build robust web apps in very quick time and bring their ideas to life.
Current web apps built in the course (6):
Sections 4 - 7: Alpha blog - CRUD functions, multiple resources, authentication system built from scratch, front-end using Bootstrap, one-to-many and many-to-many associations at DB layer, production deployment! Compatible with both Rails 4 and 5 (with repositories on each version). Built using Rails 6 (compatible with 4, 5, 6)
Section 8: MessageMe real-time messaging app featuring ActionCable, use of WebSocket protocol and Semantic-UI front-end. Built using Rails 5!
Section 9: Finance Tracker social media app - Learning to use Devise for authentication, generators, search forms, Ajax, JavaScript, search functionality, external API usage, secure credentials management, rapid prototyping. Built using Rails 6.
Section 10: Photo App - Production email confirmation functionality, extending devise basic functionality, payment using Stripe API, file storage with AWS S3 bucket.
Section 11: SaaS Project Management App - Multi-tenancy, extending devise and incorporating payment functionality with Stripe, multi-tiered teams, email invitations within teams, restrictions based on payment tiers and more!
Section 12: University App (bonus) - Introductory Rails app (optional as beginner app for the course) - beginner friendly, along the lines of Alpha blog, but uses MaterializeCSS front-end framework instead of Bootstrap and walks through how to customize features in it. Built using Rails 5.
Ruby on Rails - introduced 15 years ago - continues to be the cool but stable framework of choice for startups since it allows for rapid development - while maintaining structure and security - as complex and disruptive business ideas are brought to life in record time.
This course takes a very structured approach of teaching Rails starting with Ruby - the programming language behind Rails. Everything from "Hello World" to Object Oriented Programming is covered. Students acquire skills rapidly; utilizing homework assignments, quizzes, coding exercises and free web based resources to go with the video lectures. The text lectures also provide reference material after each video, it's like having multiple books in addition to the videos to guide students through the course.
At first all the code is done from scratch limiting the use of shortcuts and generators so students can understand what's really going on under the hood of Rails applications and can design them the way they want. Then with solid knowledge and understanding already in place, rapid prototyping methods are introduced in later parts of the course, showing use of generators and scaffolding, finishing with a complete Software as a Service Application that can be used to launch a startup!
Some key features of this course are:
- 250+ lectures and 40+ hours of video content
- Ruby programming from scratch; writing your first program to say "Hello World" to Object Oriented Programming while building multiple mini-projects along the way
- Local installation and development options made available for both Macs and Windows machines (that's right, Windows as well!)
- Git for version control, Github as code repository, Heroku for production deployment
- Working with Amazon Web Services S3 bucket for storage, Sendgrid for production email functionality, Multi-Tenancy using Milia
- Custom credit card form creation and working with Stripe API to implement payment processing functionality
- Rails MVC structure in-depth - Models, Views, Controllers
- FREE live support
- Design and conceptualization using wire-framing tools
- Building authentication systems from scratch at first using the default Rails stack, including admin feature, log in/logout and signup. Then learning how to use Devise and extend the basic functionality provided by Devise to customize it and speed up authentication systems
- Ajax, Jquery, plain JavaScript - all 3 used in different parts of the course!
- Bootstrap, Semantic-UI and MaterializeCSS (using material design concepts) for UI styling
- Fully automated test suites using Unit, Functional and Integration tests
- Database associations: One-to-many, many-to-many, self-referential using ActiveRecord
- much, much more!
This course is eligible for the Codestars Certificate Authority (CCA) certificate. Students can take the official exam via codestarscom, and those who pass the quiz will receive their CCA certificate. (more details in the course!)
Join today and I'll see you in the course.