{{tag>book}} ====== The Ruby on Rails Tutorial: Learn Web Development with Rails ====== RailsSpaceと同じ作者。こちらはバージョン6で新しい。RailsSpaceと同じくチュートリアル式(逆はリファレンス)で、たのしく学べる。 cdの使い方みたいなところから書いてるわりに、herokuでファーストデプロイさせる挑戦的な本…と思ったが、実際やってみると超絶カンタンで納得した。 バージョンが少し古い日本語訳が公開されていた → https://railstutorial.jp/ 分量が多すぎて飽きる、疲れた。 ===== メモ ===== * Gemfile: 環境ごとのGemを設定。開発ではsqlite、デプロイではpostgresを使うヨとか。 * bundleでディレクトリにGemを落とす。どこでも動作するようにする。 * なぜかshebangをいじらないとデプロイできなかった。herokuにここがおかしいよと、ちゃんとメッセージが出てきたのでありがたかった。出てなかったら絶対わからん。 * ページ数だけあってかなり詳細な説明。Ruby,TML,CSS,CSSフレームワーク…と浅く広くという感じ。フレームワークはほかのを2回やったのでややクドく感じる。そのへんは軽くやった。 * BootstrapやSassも簡単に解説。必要なもの全部入り。 * テストも詳しく解説。テスト駆動開発の流れが動的にわかる。赤→緑テスト(最初に失敗するテストを書き、成功するように本文を書く)、Guardによる自動化。 * 配列と文字列には%wが便利。 * >> %w[foo bar baz] => ["foo", "bar", "baz"] * バグがあったときは、まずテストを書いて再発を防ぐ。後で読みやすくもなる。例: flashが2回め以降も消えないとき、1回目は要素があることをテスト、2回目はないことをテストする、など。 * ログインシステムを実際のコードとともに詳しく解説している。 * 644ページあたりのsendの解説はメタプログラミングの参考になる。 * リレーションのあるオブジェクトを生成するときに_idを渡して生成するのは慣用的に正しくない…リレーション元のメソッドからリレーションを伝って呼び出すのだ。''@user.microposts.build(content: "Lorem ipsum")''みたいな感じさ。