fugafuga.write

日々のログ

パーフェクト Ruby on Rails 1章 まとめ

読んだので反復

1章 Ruby on Rails の概要

□ Rails を使う環境を整える

Windows,Mac OSX,Linux の環境設定の方法が書いてあった

□ gem コマンドと rake コマンド

gem コマンド

Ruby でライブラリを扱う際のパッケージ管理システム RubyGems を扱うためのコマンド

rake コマンド

Rake と呼ばれるビルドツールを実行するためのコマンド
ビルドだけではなく、定形処理を行う場合に実行される
Rake で実行される定形処理の単位を Rake タスクと呼ぶ

% rake <Rake タスク名>

Rake タスク一覧確認

% rake -T
Bundler

gem を管理するパッケージマネージャ
プロジェクト毎に gem のバージョン固定ができたりする

□ Rails の思想

  • CoC (Convention over Configuration)
  • DRY (Don't Repeat Yourself)
  • REST (Representational State Transfer)
  • 自動テスト
CoC (Convention over Configuration)

設定より規約
共通のルールを作ることでフレームワーク関連の設定なんかを意識することなく開発できる

DRY (Don't Repeat Yourself)

同じことを繰り返さない
メンテナンス性が高まる

REST (Representational State Transfer)

すべてのリソースに一意となる識別子(URI)がある
URIを通してリソースを操作する手段を提供する

というWebアプリの設計概念のこと

URIに対して、HTTPメソッド(GET,POSTなど)で操作を行う

自動テスト

フレームワーク自体に自動テストを行えるような機能がある

□ Rails をはじめよう

Rails インストール から アプリケーション動作確認まで

コマンド 省略形 概要
server s Webアプリケーションサーバーを起動する
console c アプリケーションの環境を読み込んで、consoleを起動する
dbconsole db データベースのconsoleを起動する
generate g ひな形の作成
runner r アプリケーションの環境を読み込んで、指定したコードを実行する

□ scaffold を使う

指定したDBのテーブルに対してCRUDを行うコードがコマンド一発で生成される

% rails generate scaffold task content:text

上記コマンドでは、task テーブルに text型 の content というカラムを作成する場合のもの

□ DBの変更を migration ファイルで管理する

DBに対する操作が記載されているファイル
migrate の意味は「移行する」

% rake db:create
% rake db:migrate

create でDBを作成
migrate で migrate ファイルに記載されている内容でDBを更新する
migrate ファイルは migration ID で管理されているため、一度 migrate が実行されたら再度実行されることは無い

□ ルーティングの一元管理とRESTの思想

ローカルでアプリケーションサーバーを起動した状態で、

http://localhost:3000/rails/info/routes

にアクセスすると、現在のルーティング情報が確認できる

rake routes コマンドでも確認できる

ルーティングの設定は、config/routes.rb に記載されている

ルーティングでURLとコントローラ内のメソッドを紐付ける
アクションの中でモデルを通じてデータを取得する
テンプレートファイルを通じてHTMLを作成し、描画する


パーフェクトRuby on Rails

パーフェクトRuby on Rails