Ruby on Rails チュートリアルの第3章のメモです。第3章では、Railsにおける単純な静的なページの作り方と自動化テストを学ぶことができます!
第3章 ほぼ静的なページの作成 | Rails チュートリアル
静的なページの生成
generateコマンドを利用し、コントローラを作成する
作成するコントローラ名はキャメルケース
rails generate controller StaticPages home help
Rubyはクラス名にキャメルケースを使う慣習がある
generateコマンドで生成したコードを元に戻す
例えば、コントローラを作成した後、もっといいコントローラ名を思いついてしまった場合など
generateコマンドを使うと、コントローラ以外にも関連ファイルを大量に自動生成されてしまうのでコントローラを削除するだけでは元に戻らない
このようなときはdestroy
コマンドを利用すると元に戻せる
ex) 自動生成と取り消しの例
$ rails generate controller StaticPages home help
$ rails destroy controller StaticPages home help
HTTPメソッドの種類
HTTP(HyperText Transfer Protocol)には4つの基本的な操作がある
GET、POST、PATCH、DELETEという4つの動詞に対応付けられている
テストから始める
何らかの変更を行う際には、常に「自動化テスト」を作成して、機能が正しく実装されたことを確認する習慣をつけるとよい
テストコードを書くのに時間はかかるが、全体的な開発スピードは上がる
というのも、テストが揃っているとバグを追うための余分な時間を減らせるから
railsのテストコード
rails generate controller
を実行した時点で、テストファイルが作成される
以下のコマンドでテストを実行できる
$ bundle exec rake test
touchコマンド
本来ファイルやディレクトリのタイムスタンプだけを更新するためのコマンドだが、
ファイルが存在しない場合にはからのファイルを作成する副作用がある
共通のレイアウト埋め込み
同じコードを繰り返すことはRubyの「DRY」(Don't Repeat Yourself:繰り返すべからず)という原則に反する
Railsのビューで重複を取り除くテクニック
「埋め込みRuby」(Embedded Ruby)を使用することで解決
<% %>
と<%= >
の違いは、単に実行するだけか、実行した後出力まで行うかの違い
Ruby on Rails チュートリアル 「第3章 ほぼ静的なページの作成」のまとめ
- 新しいRailsアプリケーションをゼロから作成したのはこれで3度目。今回も必要なgemのインストール、リモートリポジトリへのプッシュ、production環境まで行った
- rails 4.2.2 new アプリケーション名
- Gemfileを修正し、bundle install
- gitの作成からプッシュ
- いろいろ作業し、bundle exec rake test でテスト
- git push heroku して heroku open みたいな流れ
- コントローラを新規作成するためにrailsのスクリプトはrails generate controller ControllerName
- コントローラ名はキャメルケース、アクション名はスネークケース
- 新しいルーティングはconfig/routes.rbファイルで定義
- Railsのビューでは、静的なHTMLの他にERB(埋め込みRuby:Embedded RuBy)
- 常に自動化テストを使用して開発をすすめることで、リファクタリングがいちはやくできる
- テスト駆動開発では「レッド・グリーン・リファクタリング」サイクルを繰り返す
- Railsのレイアウトでは、アプリケーションのページの共通部分にテンプレートを置くことで重複を解決できる
- CakePHPのviews/layout/default.ctpと同じ
ViewのLayoutリファクタリングはCakePHPと同じ
Q. ユーザによっての切り替えとかコントローラ単位での切り替えはどうやるのか?
1時間ほどかかった
Ruby on Rails チュートリアル 第3章までかかった合計時間は4時間
次回記事は、こちら!
Ruby on Rails チュートリアル 「第4章 Rails風味のRuby」をやってみた
Ruby on Railsのおすすめ書籍はこちら!