はじめに
今回はRailsのインプット用の教材として現場で使える Ruby on Rails 5速習実践ガイド
を読んだので、その感想について記事にします。
良かった点
Railsの機能について実際にアプリを作ってみながら解説するという流れで
解説していてわかりやすかったです。
テストの解説でなぜテストが必要なのかの解説が入っているように
機能そのものの解説にとどめていなかって点も良かったと思います。
またチーム開発についてのチャプターもあり単なるRailsのみの解説の参考書
ではなくエンジニアとして必要な知識も身につけられる参考書でもあると思います。
学んだ点
Chapter3
- テンプレートエンジンにはERB以外にHamlやSlimがある。
- 同名のビューを使うことが多い法則があるため、コントローラーを作る際は引数にHTTPメソッドがGETのアクションを入れると効率的。
Chapter4
- データの登録や更新の際は
save!
を使った方が予期せぬ失敗を防げる。 - 複数の管理系のコントローラーがある場合は管理系コントローラーの基底クラスを作りそれを各コントローラーが継承するように使うのが一般的。
Chapter5
- テストコードがあればバージョンアップ後にこれまで通り動かない箇所をスムーズに修正できる。
- 面倒でもテストを書いておけば中長期的には開発時間の短縮につながる。
Chapter6
-
routes.rb
を見やすい形に保つにはインターフェイス(URL)の構造かコントローラの構造に則した状態にすべき。 - 実際のフォーム画面の入力フォームの数とStrong Parametersの属性の数が合わずに一部DBに反映されないということが起きうるため注意が必要。
Chapter7
- 確認画面を実装する場合はユーザーが登録されたと勘違いするケースもあるため本当に必要か検討してからにすべき。
Chapter8
- Turbolinks利用時には
<script>
高速化のメリットが打ち消されてしまうためbody要素の中に記述せずhead内のみにすべき。
Chapter9
- database.ymlはバージョン管理の対象とせずパスワードやユーザー名を記述していない別ファイルを作成してバージョン管理を行う。
Chapter10
- アプリケーションは開発が進むにつれてコードが複雑化するので以下の3つの手段が有効。
- 適切な場所にコードを書く。
- 上手に共通化する。
- 新しい構造を追加して役割分担する。
難しかった点
少し前に出版されているため対応しているのがRails5の内容となっているため
ハンズオンで進めようとしている人には予期せぬエラーが発生しうるため
おすすめはできないかと思います。ハンズオンで実際に手を動かしながら
学びたい人はこちらの書籍をざっと読んだ後にRailsチュートリアル等の
最新のRails7に対応した教材を使うといいと思います。
あとはビューはerbではなくslimを使っておりerbしか見たことなかった
自分としてそこはわかりずらい点ではありました。