How to build a complete, real-world application from scratch with Ruby on Rails step by step.
A lot of Ruby code is "magic". We'll explain the magic and see how it works using the powerful tools Ruby gives us.
Accept subscription and one-time payments with Stripe in your Rails apps
Expert advice on keeping Rails apps organized and fast.
Cheap, easy hosting for Ruby and Rails apps.
Launch your product business way faster with our SaaS template.
A weekly podcast on web development and building products with Ruby, Rails, Javascript, and more.
A few of the Open Source projects we do at GoRails.
Build a Ruby on Rails app in 48 hours with us.
Help Junior developers get hired by sharing small projects to build their resume with paid work.
Find your next Ruby on Rails Job.
In this lesson, we will learn about how to display content in a list and how we can use list elements to create navigational aids for our webpages.
In this lesson, we will learn about how to display images on our webpages.
In this lesson, we will lay down our foundational knowledge of forms on the web, knowledge that will be used throughout your career as a web developer.
In this lesson, we will explore the button element and some of the lesser known attributes/functionality that can be added to them.
In this lesson, we will explore the other types of input elements which we can use in our forms.
In this lesson, we will step briefly into the world of forms in Rails to see the naming conventions Rails uses to help us get structured data from form submissions in our Rails applications.
In this lesson, we will learn about how to provide better structure to our webpages using more semantic elements from HTML5.
In this lesson, we will look at some guidelines which we can use to help keep our Rails model files organized and uniform. Along the way we will uncover a couple of gotchas to be aware of when doing the work to align your files with the template.
Rails.env looks and acts like a Ruby String, but you can call methods with question marks on it. In this lesson, we'll learn how it works using ActiveSupport StringInquirer.
At Rails World 2023, Chris Oliver gave a talk about Powerful Rails features you might not know to cover small, but incredibly useful techniques you can use to write better Rails applications.
Not eager loading in your Rails applications can have series performance side effects. Rails now comes with a strict_loading feature that you can use to make sure that queries are run in an efficient manner.
In this lesson, we will look at the various ways we can use the super keyword in Ruby in regard to forwarding method arguments to the equivalent method in a parent class.
Congratulations! We're all done! We now have a fully featured URL shortener that does everything we need plus some cool extras.
In this episode, we will look into the new health check endpoint that will come by default in a Rails 7.1 application.
Once our application has lots of links, it will become impossible to use. Let's add pagination to make our application usable once we have hundreds or thousands of links.
Now that we've got a thorough test suite, we want to make sure tests are run anytime we push code to GitHub. We can setup GitHub Actions to test our code and automatically deploy it when tests pass.
Testing our URL shortener is very important now that we've implemented edit permissions on Links. We want to make sure everything works as expected for each type of user.
Here's how we'd add Users and handle edit permissions for links. See how it compares to your implementation and consider the pros/cons of each approach.
In this lesson, we will look at a new option coming to ActiveJob in Rails 7.1 for enqueuing multiple jobs at once using the perform_all_later class method.
Anyone can add, edit, and delete any Link in our URL Shortener database. Your challenge is to add users, associate links with them and only allow editing of your own links.
Join 87,563+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.