The Rails 8 Way
$24.00
Minimum price
$49.00
Suggested price

The Rails 8 Way

About the Book

With a foreword written by Eileen M. Uchitelle, Rails Core Team

“When I read The Rails Way for the first time, I felt like I truly understood Rails for the first time.”—Steve Klabnik, Rails contributor and mentor

The Rails™ 8 Way is the comprehensive, authoritative reference guide for professionals delivering production-quality code using modern Ruby on Rails. It illuminates the entire Rails 8 API, its most powerful idioms, design approaches, and libraries. Building on the previous editions, this edition has been heavily refactored and updated. Rails 8 has the following big themes:

  • “No PaaS required” is basically the release subtitle. A fresh Rails application now comes with a Dockerfile ready for production traffic. Thruster is a reverse proxy that will take the incoming requests into your Docker container, which then sends the traffic to an application server like Puma. It adds HTTP/2 support, automatic TLS certificate management, and serves your static files efficiently. Kamal is a deployment tool like Capistrano for a dockerized application. It configures a fresh Linux box to run your application behind the new Kamal Proxy for zero-downtime deployments.
  • “No Redis required” is the second big theme. For years, most Rails applications had their primary database (like Postgres) plus Redis as their sidekick. Solid Cache is an Active Support cache store, and Solid Cable is an Action cable adapter. Both use your database instead of Redis (or memcached). The third library is Solid Queue, an Active Job adapter that works similar to GoodJob (the adapter we recommended in previous editions). Compared to GoodJob, Solid Queue has one advantage: It also works with MySQL and SQLite.
  • “No Devise required” is the third theme. By providing an authentication generator, you can get a basic authentication running in no time. We still recommend sticking with Devise for now, as it covers quite a few additional features you might need in a production application.

Through the detailed code examples in this book, you’ll dive deep into Ruby on Rails, discover why it’s designed as it is, and learn to make it do exactly what you want. Proven in thousands of production systems, the knowledge in this book will maximize your productivity and help you build more successful solutions.

  • Build powerful, scalable, REST-compliant back-end services
  • Program complex program flows using Action Controller
  • Represent models, relationships, and operations in Active Record, and apply advanced Active Record techniques
  • Smoothly evolve your database schema via Migrations
  • Build your assets with the asset pipelines
  • Optimize performance and scalability with caching
  • Improve your productivity using Haml templating
  • Secure your systems against attacks like SQL Injection, XSS, and XSRF
  • Integrate email using Action Mailer and Action Mailbox
  • Improve responsiveness with background processing
  • Build “API-only” back-end projects that speak JSON
  • Store your files in the cloud via Active Storage

After all the additions we made to The Rails 7 Way, it became clear that the book had turned into a tome. As we still have more things to share, we decided to split the book into three parts. This here is the first book, going over the entire framework. Apart from that, we have two more books coming soon:

About the Authors

Lucas Dohmen
Lucas Dohmen

Lucas is the team lead of the web team at komoot, an app to explore the great outdoors by hiking or cycling. He is working on web development and architecture on the front and back end for almost 20 years now. He programs in Ruby, JavaScript and Go – with Rails being his go-to framework for web applications since 2006.

Tom Henrik Aadland
Tom Henrik Aadland

Tom is a Business Architect at Ørn Software where he is building the bridge between business strategy and development. 

Tom was an early adopter and advocate of Rails, specialising in it since 2006. During his spare time he enjoys travelling, reading and music. One of his adventures led him to Argentina Buenos Aires where he spent a decade, pioneering in remote working and living life as a digital nomad before the term was even coined. There he was the founder of the first Rails conference in the Southern Cone, Locos por Rails 2009. When he is not working on some project he spends his time with his wife and two kids.

Obie Fernandez
Obie Fernandez

The "one and only" Obie Fernandez is an avid writer and technology enthusiast, in addition to achieving worldwide success as an electronic music producer and touring DJ. He is Co-founder and Chief Scientist of AI platform Olympia, and also Partner and Chief Consultant at MagmaLabs, a powerhouse Ruby on Rails consultancy.

Obie has been CTO and co-founder of many startups including Mark Zuckerberg's beloved Andela and Trevor Owen's Lean Startup Machine. His published books include the acclaimed business title The Lean Enterprise. He also founded one of the world's best known Ruby on Rails web design and development agencies, Hashrocket and is author of the bible of Rails development, The Rails Way and series editor for Addison-Wesley's Professional Ruby Series.

On the rare occasion when Obie is not busy building products, consulting clients or writing books, you can find him behind the lens of his camera or DJing in the dust at Burning Man.

Follow @obie on Twitter or email him at obiefernandez@gmail.com 

Table of Contents

  • Foreword (Rails 7 Way)
  • About the Authors
  • Acknowledgments
  • Introduction
    • Goals
    • Prerequisites
    • Book Structure
    • Licenses, Attributions and Trademark Notice
  • Rails Configuration and Environments
    • Generating a new Rails Application
    • Bundler
    • RSpec and Haml
    • JavaScript and CSS
    • Foreman and Overmind
    • Running a Rails application
    • Common Settings
    • Zeitwerk
    • Development Mode
    • Test Mode
    • Production Mode
    • Configuring Application Secrets
    • Configuring a Database
    • Health Controller
    • Logging
    • Default Gems
    • Dependency Updates
    • Static Code Analysis
    • TLS (Transport Layer Security)
    • Rack
    • Conclusion
  • Routing
    • The Two Purposes of Routing
    • The routes.rb File
    • Named Routes
    • Scoping Routing Rules
    • Listing Routes
    • Conclusion
  • REST, Resources, and Rails
    • REST in a Rather Small Nutshell
    • Resources and Representations
    • REST in Rails
    • Routing and CRUD
    • The Standard RESTful Controller Actions
    • Singular Resource Routes
    • Nested Resources
    • Routing Concerns
    • RESTful Route Customizations
    • Controller-Only Resources
    • Different Representations of Resources
    • The RESTful Rails Action Set
    • Conclusion
  • Working with Controllers
    • Action Dispatch: Where It All Begins
    • Parameters
    • Render onto View…
    • Additional Layout Options
    • Redirecting
    • Controller/View Communication
    • Action Callbacks
    • Streaming
    • The respond_to Method
    • Allow Browsers
    • Rate Limiting
    • Caching
    • Conclusion
  • Cookies, Session Management and the Flash
    • Cookies
    • Session
    • The Flash
    • What to Store in a Cookie
    • What to Store in the Session
    • Conclusion
  • Action View & Haml
    • Haml
    • Layouts and Templates
    • Partials
    • Conclusion
  • Active Record
    • Creating Migrations
    • Defining Columns
    • Schema and Sequencing
    • Seeding
    • Database-Related Tasks
    • Working with Active Record
    • Model Mass-assignment Attributes Protection
    • SQL Injection
    • Conclusion
  • Forms
    • The basics of form_with
    • FormOptionsHelper
    • The Date and Time Selection Helpers
    • Conclusion
  • Authentication and Authorization
    • Warden
    • Devise
    • Pundit
    • Conclusion
  • Background Processing
    • Active Job
    • Queueing Backends
    • Conclusion
  • Action Mailer
    • Mailer Models
    • Previews
    • Configuration
    • Conclusion
  • RSpec
    • Introduction
    • Behavior-Driven Development
    • Basic Syntax and API
    • Custom Expectation Matchers
    • Helper Methods
    • Shared Behaviors
    • Shared Context
    • Test Doubles
    • Running Specs
    • Testing Tool Belt
    • Conclusion
  • Other Parts
    • View Caching
    • Data Caching
    • Active Storage
    • Action Mailbox
  • Wrap Up
  • Notes

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub