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.
Ever wondered how to add the Unsubscribe link to your emails? We can do that using ActinoMailer in Rails with the List-Unsubscribe header and GlobalID
ActiveRecord default_scopes are incredibly useful for some features like soft delete. But sometimes we need to undo a scope, so that's where unscope comes in.
Rails lets you intercept and observe emails sent out by your application. This is incredibly useful for staging / preview environments and audit log trails
An advanced look into jQuery UJS and how to use callbacks to improve your UJS workflow and debugging
Nested comment threads pose a lot of unique challenges. One of these is deleting comments because you can easily lose the child comments or context. We'll take a look at a couple great ways of handling this.
Mocks are a handy tool for writing tests in Ruby. You can use them to fake an object and verify that the correct methods were called against it. Perfect for testing a method that integrates closely with another class or module.
Webpacker provides some nice tools for loading Javascript in several different ways. We're looking at require.context to see how to load an entire directory's set of files easily.
Learn how to route inbound emails with ActionMailbox in your Rails app
How do we test API requests in a Rubygem to make sure that we're integrating correctly with our backend? We'll learn how to use stubs to fake out the request and test our code without any network requests.
Receiving inbound SMS in Rails with Twilio is very similar to handling inbound emails with Action Mailbox
Bulk operations like "delete all", "publish all", etc require a little bit of Javascript and a special controller for handling them.
Fragment caches can be hard when users have different permissions and are allowed to do different things. We can solve this problem with a little Javascript and greatly improve the usefulness of our fragment caches.
The core of an API wrapper Rubygem is defining the Resource endpoints so developers can make requests cleanly. We'll also learn how to handle pagination for endpoints that return a list of results.
Learn how to apply advanced routing constraints such as domain, subdomain, user authentication, and more. We'll explore how to use custom constraints for routing multi-tenant Rails applications based upon subdomain and domain too.
Ever wanted to restrict user registrations to an account's work email or corporate email domains in your Rails app? It's a lot simpler than you might think.
Updating slugs
The core of any API wrapper is the actions for create, read, update, and delete. We'll implement the CRUD for a resource so you can see how to do it and wire up everything together that we've built so far.
Use Carrierwave to add attachments to your Mailboxer conversation messages
Reply to inbound SMS and phone calls using TwiML to create XML responses to Twilio conversations
Rails provides several really useful test helpers for ActionMailer so we can quickly iterate on our design, test that our code queues up the right emails, and make sure our emails contain the right content.
Join 73,723+ 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. Icons by Icons8
© 2023 GoRails, LLC. All rights reserved.