Ā«Painless RailsĀ» book


Why another book about Ruby on Rails?

There are two kinds of books about Rails:

This book is different. The goal of this book is to describe a new integrated approach to Web-applications development using Rails. To achieve this goal we'll go through several "unlearning" and several "learning" chapters.

In "unlearning" chapters we discover how writing code in a conventional way makes our life harder. In "learning" chapters we describe "Painless Rails" approach piece by piece.

This book is here to help you achieve these things:

  1. Identify and fix most harmful flaws in your current Rails application
  2. Establish a solid foundation for your next Rails project
  3. Learn to look beyond code and realize how to organize concepts, not classes and methods

Meet the book:

Table of contents*

Chapter 1: Controversial smoothness of Rails way approach

  1. Masking complexity with callbacks and conditional validations
  2. Mixing internal with external
  3. Ignoring layers in Rails
  4. Mixing Application Logic and Business Logic
  5. The time-bomb effect

Chapter 2: Painless Rails foundation

  1. Shapes
  2. Services
  3. Mutators
  4. Repositories
  5. Domain Models

Chapter 3: Painless Rails frame

  1. Hierarchy of models
  2. The key part of REST
  3. Hierarchy of controllers
  4. Testing
  5. Service Locator

Chapter 4: Painless Rails approach in practice

* The book structure and titles might differ in the final version

Meet the author: Ivan Nemytchenko


The roots of the Painless Rails approach

The author of the approach described in the book is Kirill Mokevnin - CTO of Hexlet.io. Hexlet is a major online-learning platform for programmers in Russian-speaking community.


Their platform is a 7-years old Rails application with:

Kirill has managed to develop an efficient approach to web development using Rails, so that through the whole life of the project they never needed a huge team of developers.

I learned about that approach in 2018. The approach made so much sense to me, so I decided that it is worth to describe it in th ebok and share with the others.

The most encouraging discovery for me was that you don't have to fight against the framework to beat complexity clumps in your app.

Who is this book for?

  1. You know that vanilla Rails is not enough for big projects
  2. You have tried multiple alternative approaches
  3. You are still not happy with what you get

If all of the above applies to you, then you will not regret buying this book.

Buy it

Get your copy

What do I get?

Expected outcomes

This book is going to help you to:


1 2 5 3 4