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.
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.
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.
Adam McCrea walks through using Phlex to build components for views in your Rails applications. Phlex is a Ruby gem for building fast object-oriented HTML and SVG components using Ruby constructs: methods, keyword arguments and blocks.
In this lesson, we will learn how to communicate features that will be removed in the future by using a built in feature of Rails specifically ActiveSupport::Deprecation.
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.
Kicking off our Web Scraper series, we start out with the bread and butter: scraping web pages with Ruby and Nokogiri.
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.
Building the controllers and actions for our Web Scrapper application lets us interact with Rails to add and remove Pages and view the results as they're generated.
TailwindCSS is an excellent CSS framework for letting us quickly iterate on design ideas to make our UI much cleaner and easier to use.
When a web page is scraped successfully, we need a way to notify the user. For example, when the Raspberry Pi 5 is finally in stock, we want to know right away with an email.
The next step is deploying our web scraper to production and setting up our cron jobs. We'll deploy our Rails app to a server using Hatchbox.io and configure cron jobs to run our scraping tasks on an interval.
Now that our application is deployed to production, we can use a service like Postmark to send real emails.
Wrapping up our Web Scraper, we debug an issue in production with SolidQueue and some challenges for you to add more features to the web scraper.
Generators in Rails are in namespaces which allows us to create local generators that use the same name as others. We can use this technique to enhance the Rails scaffold generator by calling it with `hook_for`
ActiveRecord Aggregations let you use composed_of to combine columns into a single attribute using a Ruby object.
To start off our automated transcription series, we'll start by creating our database model for
Next up, we need to sync videos from our hosting provider's API so we'll build an API client from scratch using net/http in Ruby
Next, we need to sync videos using our API client which we'll do with a higher level abstraction to integrate with the API.
Now that we can sync videos to our local database, we need to run this on a regular schedule. We'll use SolidQueue's recurring tasks feature to create cron jobs that run periodically for syncing.
Whisper.cpp is an open source C/C++ port of OpenAI Whisper that we can use with Ruby for transcribing our videos. We'll also look at how ActiveStorage runs executables like ffmpeg to see how it works behind the scenes just like with what we're building.
Join 85,376+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.