Rails 初心者に優しい本:独習 Ruby on Rails

『独習 Ruby on Rails』を読んだ。

独習Ruby on Rails

独習Ruby on Rails

Rails って簡単って聞いてたけど、コマンド1個実行しただけでいっぱいファイルができて怖い。Progate をひととおりやって「わかった!」ってなって、意気揚々と『現場で使える Ruby on Rails 5速習実践ガイド』をやってみたら途中から難しすぎて挫折。そのとき Twitter で『独習 Ruby on Rails』がわかりやすいというツイートを見かけて買ってみた。技術書は物理本派だが、早く読みたいのと Kindle 版が半額だったので Kindle 版にした。

こんな人におすすめ

  • Rails を初めて触る人
  • Rails でアプリを作り始めたが何がわからないのかわからない状態になった人
  • モデルのコードをコントローラーにコピペした人(逆も可)
  • 周りに聞ける人がいない人
  • 手を動かすだけじゃなくてきちんと理解しながら学習を進めたい人

内容

章立てはこうなっている。中の項目は抜粋。

バージョン:Ruby 2.6.3、Rails 5.2.3(環境構築の説明は Windows

  • 第1章 Rails 概要
    • Rails 誕生の経緯
    • Rails の基本理念
    • 実行環境を作る
  • 第2章 オブジェクト指向Ruby の基本
  • 第3章 Rails の起動と簡単なアプリケーションの構築
    • 簡単な Rails アプリケーションを構築する
    • Scaffold を使ったアプリケーションの作成
  • 第4章 Rails 全体の仕組み
  • 第5章 モデルに命を与える Active Record
  • 第6章 モデルに実装すべき役割
    • バリデーション
    • コールバック
    • スコープ
    • ロック機能
  • 第7章 モデルを豊かにする仕組み
    • アソシエーション
    • attributes API
    • タイプオブジェクト
  • 第8章 ルーターとコントローラー
    • ルーティング
    • コントローラーの役割
  • 第9章 コントローラーによるデータの扱い
    • フィルター
  • 第10章 Action View
    • HTML と ERB テンプレート
    • レイアウト
    • ビューヘルパー
  • 第11章 ビューを支える機能
    • アセットパイプライン
    • Ajax、キャッシング機能
    • i18n
  • 第12章 その他のコンポーネント
    • Action Mailer
    • Active Storage
  • 第13章 Active Support と Rails のテスト

この本のいいところ

説明が丁寧

サンプルコードの中で、自分が疑問に思ったところは大抵すぐ次に説明があった。フォームヘルパーの項目では、ERB に書いたコードからどんな HTML ができるのか書いてあってとてもわかりやすかった。必要なところでは CSS や HTML の説明もあり、不親切だと感じるところがなかった。

自分は疑り深い性格なので、適宜 Rails ガイドを見ながら読み進めていたのだが、Rails ガイドをさらに噛み砕いてわかりやすく体系的にまとめてくれている本のように感じた。この本を読む前にも Rails ガイドは見ていたが、そのときはわからなかったことが、この本を読んでから見たら、「あれ、同じこと書いてた」ということが何回もあった。

ERB で書かれている

ERB とは、Rails デフォルトのテンプレートエンジンで、HTML に Ruby のコードを埋め込むことができる。Rails の現場では、さらに短く書ける Haml や Slim というテンプレートエンジンが使われることも多いらしく、それで書かれている本も多い。

ただ、Rails もわからないのに HTML までわからなくなると大変なのと、最低限デフォルトは知っておきたいので、ERB で書かれているのはありがたかった。

構成・順番が良い

目次を見るだけでも勉強になる気がする。3章で簡単なアプリケーションを作ってみてから、モデルの学習のときには基本的に Rails コンソールで動かし、モデルの学習が終わってからコントローラー、ビューと学習していくので、以前のようにモデルとコントローラー どっちをいじるのかで混乱することがなかった。アプリ作成にはモデルとコントローラー両方の知識が必要だが、最初から両方同時に勉強して同時に使い始めると自分の場合はつまずいたので、順番にやるのはよかった。

  • 1〜4章:Rails 全体、Ruby
  • 5〜7章:モデル
  • 8〜9章:ルーターとコントローラー
  • 10〜11章:ビュー
  • 12章:その他

章ごとに理解度チェックという問題(アプリに機能をつけていくなど)があるのだが、読み進めることを優先して途中までしかやっていないので、近いうちにもう一度読む予定。

ということで、Rails 初心者におすすめ。