Ruby on Rails

【Ruby on Rails】チュートリアル「第3章 ほぼ静的なページの作成」をやってみた

Ruby on Rails チュートリアルの第3章のメモです。第3章では、Railsにおける単純な静的なページの作り方と自動化テストを学ぶことができます!

第3章 ほぼ静的なページの作成 | Rails チュートリアル

Railsチュートリアル第3章をやってみた

静的なページの生成

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環境まで行った
    1. rails 4.2.2 new アプリケーション名
    2. Gemfileを修正し、bundle install
    3. gitの作成からプッシュ
    4. いろいろ作業し、bundle exec rake test でテスト
    5. 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のおすすめ書籍はこちら!


-Ruby on Rails