Save 36% for Black Friday! Save 36% on GoRails for Black Friday! Learn more →
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.
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.
Test stubs are very handy when you want to mock out the response to a method call. This allows your tests to be more reliable and skip long running or unnecessary method calls.
Today we're refactoring Andrew Mason's GitHub Action that runs Rubocop against your repository. We'll pull out some concepts, remove conditionals, and use several other techniques to clean up the code.
Testing ActionCable authentication with Devise is pretty easy, especially when we build our own helpers to stub out Warden
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.
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.
WebMock is a fantastic way to stub out and mock your HTTP requests. It will actually throw an exception in your test suite when an HTTP request is made so that you know when you're hitting an external API that you haven't stubbed out correctly.
Learn how to write integration tests in Rails to test controllers and actions
You can use Fixtures in Rails to create sample database records for your tests to run against. They're easy to setup and extremely quick.
Test Driven Development, or TDD, is a pretty simple process that allows you to write your code in conjunction with tests to ensure a high level of confidence and code coverage.
Race conditions can cause problems with data integrity. We can prevent these issues with Pessimistic Locking in ActiveRecord which uses database row-level locking.
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.
Learn how to add support for Accelerated Mobile Pages (AMP) from Google to Ruby on Rails in this tutorial
Reply to inbound SMS and phone calls using TwiML to create XML responses to Twilio conversations
Receiving inbound SMS in Rails with Twilio is very similar to handling inbound emails with Action Mailbox
A CDN can distribute assets globally and allow more parallel downloads. This equates to performance benefits for users anywhere in the world
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.
In this episode, we will walk through how you can save the contents of inbound HTML emails from ActionMailbox using ActionText and attachments using ActiveStorage
One of the coolest new features of Rails 6 is the introduction of Actionable Errors. These are errors you can provide actions on so when Rails complains you haven't run migrations you can now simply click a button to run them instead.
Contributing to Rails is everyone's dream. This episode we'll walk through how you can find a bug or feature to add to Rails, how to browse through the source code, add your feature and test it.
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.