Rails Essay

Learning Path to Not Give Up on Ruby on Rails

I've been working with Ruby on Rails for about 4-5 years. Recently I've been using Django, a Python web app framework, but before that I was heavily into Rails. I myself have given up on Rails 3-4 times due to its difficulty. The causes were Rails-specific incomprehensible bugs, my English proficiency and problem-solving skills, willpower, and various other things, but here I'd like to note down my thoughts on how to proceed with Rails learning to avoid giving up.

Shou Arisaka
4 min read
Nov 15, 2025

<> I’ve been working with Ruby on Rails for about 4-5 years. Recently I’ve been using Django, a Python web app framework, but before that I was heavily into Rails. I myself have given up on Rails 3-4 times due to its difficulty. The causes were Rails-specific incomprehensible bugs, my English proficiency and problem-solving skills, willpower, and various other things, but here I’d like to note down my thoughts on how to proceed with Rails learning to avoid giving up. </>

Don’t Try to Understand Everything at Once

Rails is, as I and everyone else think, actually quite complex and difficult. It’s not just Rails, but web app frameworks like Django and Laravel have a high barrier to entry. Lightweight web libraries like node.js’s Express.js or Ruby’s Sinatra don’t have much to learn in terms of functionality or latent bugs, so they’re not comparable, but if you’re going to start with a web app framework, you need to be prepared.

And don’t try to understand them immediately. Specifically, for example, the only commands you need to remember in Rails are these:

  • rails g controller dev
  • rails g model user name:text
  • rails c

And when working with Rails, you only need to look at these three files:

  • app/controllers/dev_controller.rb
  • app/views/dev/index.html.erb
  • config/routes.rb

Start from here. It’s wiser not to try implementing CRUD right away.

Then there’s rails new used when creating your first app, which has many options. Knowledgeable people might think, “I definitely want to use MySQL (postgres).” However, that’s NG. If you think the only difference between SQLite and MySQL is whether you rewrite config\database.yml or not, you’re very wrong - there are other differences too, and the solutions when something goes wrong are different.

When using models, it’s very difficult to learn if the database is isolated. I also tried to use MySQL from the start and gave up. I could use SQL and had used MySQL mappers in Ruby, so I thought I could do it, but actually…

With just these three files, you can create the basics of a web app: receiving data from users, processing it in Ruby, and outputting it. It’s what’s called a single-page application.

With just this, you can do everything that Ruby itself can do. You can let users operate any complex script as a web app.

From here, it’s not about Ruby, but about the structure of websites, in other words, Rails problems.

Don’t Try to Do the Rails Tutorial

There are quite a few people who recommend the Rails Tutorial to beginners.

However, I dare not recommend it. I also read up to chapter 3 as a beginner, but there are just too many verbose explanations. It’s convenient knowledge to have, and I think it will probably be necessary later. But if you read and understand everything as you go, you’ll get tired. As a result, progress becomes slow and motivation doesn’t last (I think there are individual differences in willpower and prior knowledge. There may be compatibility issues, so please consider referring only to the parts of my opinion that seem agreeable. By the way, I’m INTP).

Whether it’s programming, Ruby, or Rails, there’s too much content to comprehensively understand everything at once. With these things, I think you should do what you want to do or what’s necessary, and only when you encounter something you don’t understand, then look it up for the first time - it’s a cumulation of that.

## (Disclaimer and Addition)

This article was written over half a year ago and has been slightly edited and posted. There may be contradictory or strange statements, but I decided to post it thinking it wouldn’t be completely unhelpful.

Share this article

Shou Arisaka Nov 15, 2025

🔗 Copy Links