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.
Rails 8 now ships with multiple databases by default. In this lesson, we'll learn how the configuration works and how to deploy to production with environment variables
Enqueuing jobs inside of a database transaction is a common mistake that's now handled for you automatically in Rails 7.2
To start off our automated transcription series, we'll start by creating our database model for
ActiveRecord Aggregations let you use composed_of to combine columns into a single attribute using a Ruby object.
We need to keep track of the web pages we want to monitor and scrape data from, so let's create our ActiveRecord model for storing this information and a Result model for storing the result each time we scrape a web page.
Rails associations provide an object that quacks like an ActiveRecord but is actually a CollectionProxy. We can extend the proxy object with our own functionality to add useful features with Ruby Modules.
Mission Control Jobs is a UI for ActiveJob in Rails. It was announced at Rails World 2023 and just got released. It currently supports SolidQueue and Resque with more queue adapter support in the future.
Using some Ruby metaprogramming and class_eval, we can build Notifiers that allow us to dynamically define STI models and inject code into them with our notification system.
Have models that store the same data but need different functionality? Rails provides Single Table Inheritance in ActiveRecord to solve this problem.
Notifications in Rails applications are even easier now with the new release of Noticed gem v2. We'll explore how to add notifications to your Rails app in just a few minutes.
Did you know serialize can be used for more than saving Ruby hashes as JSON or Yaml in your db? You can take any attribute and convert it to an object seamlessly with Rails using serialize and custom coders.
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.
Has secure password is boasting some new benefits in Rails 7.1 with the addition of the authenticate_by method which reduces timing-based enumeration attack vulnerabilities. Also being introduced is the ability to provide a required password challenge.
First things first, we need a Link model to store our
Normalizing data has always been a pain in Rails, but not anymore! Instead of callbacks or overriding setters, Rails 7.1 introduces "normalizes" to make normalizing data easy.
Rails' ActiveRecord supports virtual generated columns in the database. For example, you can use these for converting numbers like degrees Celsius to Fahrenheit. These columns are saved with the regular table data and allows you to query against them.
Modules and concerns provide a way to make functionality reusable across your Rails application and other apps. In this lesson, we'll show you how we can refactor our comments functionality to add a feature to any resources in Rails.
Now that we have password sharing, it's important to add roles & permissions so users have limited access to actions on shared passwords.
Sharing is caring. Password sharing can be pretty easily implemented by using our join table. All we need to do is add and remove records to add or remove access for a user.
Since we're planning to share passwords with multiple users, we need to use a join table to associate the password with users. We'll explore how to set this up and create records using the join table and has_many through association
Join 86,946+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.