What is Ruby on Rails?

Ruby on Rails is an MVC Framework that can be used to build highly functional web applications. It includes everything you generally need to be productive quickly for building your app.


“Hold on, what does MVC mean?” - Glad you asked! MVC stands for Model View Controller. We can get into this a bit better later on, but you can think of it as the structure for organizing your code.


We’ll have things called models, that hold a lot of information about things. You may hear people talk about how models hold “business logic”. 


Then we have the views, which are exactly what they sound, the things people will see. If you need an API, these may be JSON views, otherwise, they will likely be HTML, with some Ruby sprinkled in.


Behind all of it will be controllers that coordinate for us. When you click on links the controllers then talk to a database and return the views with the information you wanted to see.


Don’t worry if that seems hard to make sense of, things will become clearer as we get further into it.


In the meantime, did you know some of the worlds most popular websites have used Ruby on Rails? Fun fact for you, Shopify, Hulu, Yellow Pages, GitHub, and Airbnb all use Ruby on Rails. 


“You mean when I booked my last vacation, it was a Rails app?” Yep! If you used Airbnb you used a Rails app. Isn’t that cool?

Learn Rails by Building Instagram (2019, Rails 6)

Buy nowLearn more

Introduction

  • What is Ruby on Rails?
  • Why Rails?
  • Initial Setup Requirements / START HERE2
  • Troubleshooting Checklist
  • What are we Building?

Getting Started

  • Running rails new2
  • Installing Bootstrap with Webpacker1
  • Setting up our Basic Navbar

Adding Users

  • Installing Devise / Generating User model
  • Updating our Navbar with working links
  • Extending the User Edit page
  • Adding Flash Messages3
  • Adding User Profiles1

ActiveStorage Introduction

  • Installing ActiveStorage / Adding Avatars to Users

Posts

  • Creating Post Model and Controller1
  • Adding Validations1
  • Adding Post Feed (Post index)2
  • Adding Posts to Profile / Post Deletion
  • Adding Likes to Posts7

Post Comments

  • Starting to add Post Comments1
  • Installing Stimulus.js & Finishing Basic Comments
  • Paginating Comments for infinite scroll (custom pagination with Stimulus)
  • ActionCable Introduction / Realtime Comments
  • Comment Fixes / Touchups
  • Allow Adding Comment on Post Creation1

User Following

  • Creating our Follow model
  • Wiring up Following
  • Only See Posts From People You Follow

Preparing for Production / Deployment

  • Polishing User Profile
  • Polishing User Edit Page & Devise Error Message Helper
  • Polishing Signup and Login Pages
  • Polishing Forgot Password and Welcome Page
  • Adding Local Time
  • Deploying to Hatchbox1

Conclusion / Thank You

  • Thank You!
  • Provide Feedback Here
  • Source Code