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.
When things (users, jobs, etc) attempt to update the same record at the same time, we can often lose changes. Optimistic locking uses a lock version number to warn you about updating stale objects so you can handle that safely.
Flash messages are typically a simple string saying something succeeded or failed. What if we wanted to add buttons like you see in most applications? It's easier than you might think!
Testing integrations with external APIs in your Rails app can be hard. You don't know what requests are being made (or even the responses), so how can you properly mock them out? VCR to the rescue.
Learn how to add the common "Retweet" or "Reblog" functionality in your Rails app with self-referential associations
The HaveIBeenPwned Password API lets us enforce strong passwords and warn users their password has been in a data breach
When you at-mention a user, you typically want to send email or other types of notifications to alert that user they were mentioned. In this episode, we'll look into ActionText Content to see how we can extract the user mention attachments and do that.
When you receive a JSON response from an API endpoint, it's really easy to convert this to a Ruby hash. But hashes don't feel very Ruby-ish when you're working with them and you can't add methods and treat them like objects.
A CDN can distribute assets globally and allow more parallel downloads. This equates to performance benefits for users anywhere in the world
Learn how to create simple API tokens for authentication with Devise
Security in production is important. We can use Fail2ban and NGINX to block malicious users from accessing our server and apps.
Add background uploads and progress easily with Refile's JS library
Learn how oEmbed works to dynamically grab embed codes from a URL and how we can use fragment caching to make this more efficient
An introduction to Ruby on Rails ActiveSupport concerns where we build a Soft Deletable module like the Paranoia gem
Learn how to refactor our CSV upload form with ActiveModel::Model to create a tableless form object
Learn how to integrate Google's Recaptcha API into your forms and registration process with Rails
Adding browser notifications for new messages with the Notifications and Page Visiblity APIs
Implementing polymorphic, reusable comments across models and limiting the nesting allowed for nested comment threads
Learn how to write integration tests in Rails to test controllers and actions
One fantastic way to improve Rails performance is by using Etags to help the browser keep track if a page has changed or not. This can help Rails skip rendering views entirely and save lots of time.
The div_for method gives you easy access to creating id's and classes for your ActiveRecord objects in the views. It also makes for easy access to elements with CSS and Javascript.
Join 76,990+ 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.