『Ruby on Rails5 アプリケーションプログラミング』学習日誌 1

前書き

railsを体系的に理解したくて、「ruby on rails 5 アプリケーションプログラミング」(山田 祥寛 著)を買いました。初心者です。とりあえずは第6章までの基本編の理解を目指して頑張ります。あとブログを書くのも初めてです。

学習の進め方について

すでに三章までは学習済みです。折に触れて復習していきたいと思います。

また、この本ではrailsの様々な機能について詳細に説明されていますが、とりあえずの目標はrailsの特徴や規約をなんとなく理解することにあるので、それぞれの機能の考え方をつかむことに焦点を当てていきたいと思います。

github

github.com

学習した範囲

p.104~p.177

ポイントまとめ

テンプレートファイルの生成

$ rails generate controller view keyword

でコントローラークラスと同時にテンプレートファイルを自動生成することができる。

この場合はviewコントローラーのkeywordアクションとview/keyword.html.erbを生成している。なおテンプレートファイルを単独で生成するコマンドはない。

ビューヘルパーとは?

ヘルパーメソッドとはよく行われる処理をrailsがあらかじめメソッド化してあるもののこと。基本的にviewに使われる。ここではform生成での実用例が挙げられている。form_tagは前提とするモデルの存在しないフォームの生成に役に立つ(検索フォームなど)。一方でform_forは特定のモデルに対する編集フォームなどを簡単に生成できる。いずれもviewのerbにメソッドとして埋め込む形で使用する。フォームを一から作る必要がなく、rubyの文法で動的にフォームを作成することができる。またcollection_selectメソッドを使えばセレクトボックスのオプションを引数のオブジェクトの持っている属性によって動的に生成することができる。

加工系ヘルパー

railsは各種データを加工してブラウザに渡すためのヘルパーメソッドを持っている。これにより、データ自体を動的に整形することができ、見やすく統一感のあるviewに貢献する。

ここまでの感想

基本編に入った段階でかなり詳細な内容になり、理解していくのが大変だったが、その分railsの具体的な考え方に触れることができたようなできなかったような気がした。最初は全く理解できなくて困ったけどだんだんすごいところも見えてきたような気がする。