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.
The browser has a built-in Geolocation API that you can use to get the user's location (with permission) in Stimulus and use it with Rails
Improve your Turbolinks implementation by using the clearCache method to reload pages
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.
Bulk operations like "delete all", "publish all", etc require a little bit of Javascript and a special controller for handling them.
Overriding the Confirm method in Turbolinks and Hotwire has been pretty tricky until now. Using promises, Turbo can now wait until the user has submitted the confirm modal.
Installing Bootstrap is easier than ever thanks to CSS Bundling in Rails now. It also wires up the Javascript so you don't have to do much of anything.
Creating draft records in your database can be tricky. We'll be using the Draftsman gem to help us create draft versions of our records with our autosave Javascript
An updated version of our Group Chat series using Webpacker, ActionCable, Stimulus.js, and modern Javascript to build a very clean version of realtime group chat in Rails
Refactoring a Javascript countdown timer into a reusable Stimulus controller gives a look at the flexibility we can achieve by taking advantage of the Stimulus Values API and customizing the default values.
Learn how to configure live reloading with Esbuild in Rails using an EventSource and jsbundling-rails
Learn how to use Javascript constructors and destructors with Turbolinks to add compatilibty to any Javascript library you want
Resources on how to learn Ember more deeply
Learn how to auto-submit forms when a user changes a value and use custom Turbo Stream Actions to update the page
Using jQuery and plugins like jQueryUI in modern Javascript can be a little tricky. We'll see how to use it, how to deal with javascript import hoisting and how to add plugins like jQueryUI
A command palette is a common feature for power users. Learn how to add a command palette to your Ruby on Rails app using the Ninja Keys web component.
We don't want anyone to be able to embed your Javascript widget on any domain, so we'll setup our app to check the domain and only allow the widget on specific sites
Keeping track of a user's last read timestamp for each chat room is straightforward, especially when we use Stimulus.js to update it from the client side.
Turbo confirm modals typically ask a simple yes or no confirmation. What if you want to force the user to type in confirmation text to ensure they are paying attention? That's exactly what we'll build in this episode!
Webpack bundles can be confusing as to what actually ships in production. Using the bundle analyzer plugin, we can visualize and see exactly what libraries and files are taking up what space.
Learn how to add Google Analytics' gtag.js to Webpacker with Turbolinks support
Join 82,464+ developers who get early access to new tutorials, screencasts, articles, and more.
We care about the protection of your data. Read our Privacy Policy.