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.
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.
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
We don't want to save passwords in plaintext in our password manager's database. That would be insecure. Luckily Rails provides ActiveRecord Encryption to make this easy.
Our first step in building any application is designing what database models we will need to store our data.
Pagination is something we don't need until we publish a lot of blog posts. We can use the pagy gem to add page links to the bottom of our pages and handle thousands of blog posts.
ActionText is a feature of Rails that allows you to add rich text including file uploads to any of your models. This is a perfect fit for our Blog Posts, so we're going to replace the text column with a rich text field with ActionText.
Scopes are a way for us to change the way a database table is queried. For example, we can use them to change the ordering of the results so certain records are first.
Our scheduled blog posts adds some complexity to our app. In this lesson, we're going to write some tests to make sure that our code does what we want it to do.
Scheduling blog posts to be published in the future is the next feature we're going to add. In this lesson, we'll talk about several options we have to implement this and then choose one to build.
Rails uses the Ruby subscript operator to implement versioning with ActiveRecord Migrations. We'll learn how this works and implement it from scratch to see how it all ties together
Errors can come up in many different ways. This episode, we'll look at how we can improve error handling in the noticed gem to cleanly handle issues with ActiveRecord without negatively affecting
I recently became a maintainer of the Sequenced gem for Rails, so this lesson we walk through all the different things for maintaining a gem and making sure it works with the latest Rails versions.
Join 78,890+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.
Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more.
© 2023 GoRails, LLC. All rights reserved.