Home > Ruby on Rails > Rails3 開発手順まとめ本がやってきた。

Rails3 開発手順まとめ本がやってきた。


昨年、WEB+DB PRESS( Vol.58 ) で Rails3特集 が組まれた頃は『 実務ベースはまだ Rails2 で 』といった話も聞いたが、リリースから半年以上たってそろそろ Rails3 を導入したいと考えていた。 そんなおり Twitter で Rails3本 の レビューアー募集 があり申し込んでみたところ、 『 Ruby on Rails 3 アプリケーションプログラミング 』という発売前の本が到着!
日本語で今すぐ Rails3 の開発手順をざざっと読めるのはとても助かります。

Ruby on Rails 3 アプリケーションプログラミング Ruby on Rails 3 アプリケーションプログラミング

全体の構成は Rails3 の開発環境を準備する手順から、MVC ごとの新しい開発手順や開発したプログラムのテスト方法がコンパクトに解説されていて、一言でいうと 『 図解 Ruby on Rails Guides 』 という感じで、内容も Rails3 の リリースノート にある 5つのハイライト のうち4つをカバーしている。

  • RESTfulなインターフェイスをともなった新しいルーティング
  • 手軽になったAction Mailerでのmultipartメッセージ送信方法
  • Active Recordのクエリでメソッドチェーンの利用方法と遅延ロード
  • 控えめなJavaScript と jQueryドライバー( rails.js )の利用方法
 ※ 5つめのハイライトはプロジェクトごとにgem依存関係を管理する Bundler ですが今回は解説なし

読み始めて1週間ほどですが図解が豊富で 掲載コードのダウンロードサービス もあり、Webで情報を捜し回るよりも この1冊 で楽に Rails3 を使い始められそうです。

書評を書いた Ruby on Rails 3 アプリケーションプログラミング という本はこちらです。

以下、詳しい目次を掲載。

第1章 イントロダクション
    Railsというフレームワーク
		アプリケーションフレームワークとは
		フレームワーク導入の利点
		Rubyで利用可能なフレームワーク
    Railsを利用するための環境設定
		Railsプログラミングに必要なソフトウェア
		Windowsにおける環境設定の手順
		Linuxにおける環境設定の手順
		Windows / Linux 共通の環境設定

第2章 Ruby on Railsの基本
    アプリケーションの作成
    コントローラの基本
		コントローラクラスの作成
		コントローラクラスの基本構文
		ルーティングの基礎を理解する
		サンプルの実行
		補足:コントローラの命名規則
    ビューの基本
		テンプレート変数の設定
		テンプレートファイルの作成
		補足:共通レイアウトの適用
		補足:コメント構文
    モデルの基本
		O/Rマッパーとは?
		データベース接続の設定
		モデルクラスの作成
		マイグレーションファイルによるテーブル作成
		フィクスチャによるテストデータの準備
		補足:データベースクライアントの起動
		データ取得の基本
		補足:アプリケーションの実行環境を指定する
    Rails の設定情報
		主な設定ファイルの配置
		利用可能な主な設定パラメータ
		アプリケーション変数を定義する

第3章 Scaffolding機能によるRails開発の基礎
    Scaffolding機能によるアプリケーション開発
		Scaffolding開発の手順
		自動生成されたルートを確認する
    一覧画面の作成( indexアクション )
		indexアクションメソッド
		index.html.erbテンプレート
    詳細画面の作成( showアクション )
		showアクションメソッド
		show.html.erbテンプレート
    新規登録画面の作成
		new.html.erbテンプレートファイル
		new / createアクションメソッド
    編集画面の作成( edit / updateアクション )
		edit / updateアクションメソッド
		edit.html.erbテンプレートファイル
    削除機能の確認( destroyアクション )
    準備:本書で使用するデータベース
		データベースの構造
		データベースの準備

第4章 ビュー開発
    フォーム関連のビューヘルパー
		フォーム生成の基礎
		汎用的なフォームを出力する
		モデル編集のためのフォームを生成する(1)
		モデル編集のためのフォームを生成する(2)
		<input>、<textarea>要素を生成する
		選択ボックス / リストボックスを生成する
		データベースの情報をもとに選択肢を生成する
		選択ボックスの選択肢をグループ化する
		モデルを関連づかない選択ボックスを生成する
		日付/時刻選択のための選択ボックスを生成する
		その他のフォーム系ヘルパー
    文字列/数値関連のビューヘルパー
		改行文字を<p>、<br>タグで置き換える
		文字列を指定行で切り捨てる
		文字列を特定の部分のみを抜粋する
		テキストに自動的にリンクを設置する
		テーブルやリストの背景色をn行おきに変更する
		特定のキーワードをハイライト表示する
		スクリプトブロックの中に出力コードを埋め込む
		文字列をHTMLエスケープする
		文字列からタグを除去する
		文字列を整形する
		数値をさまざまな形式で加工する
		日付データを整形する
    リンク関連のビューヘルパー
		ハイパーリンクを生成する
		ルート定義から動的にURLを生成する
		条件に応じてリンクを生成する
		現在のページの場合はリンクを無効にする
		メールアドレスへのリンクを生成する
    外部リソース指定のためのビューヘルパー
		イメージタグを生成する
		音声、動画をブラウザで再生する
		JavaScriptファイルをインクルードする
		スタイルシートをインクルードする
		ブラウザのフィード検出機能を有効にする
		サイトのFaviconを定義する
		外部リソースのパスを取得する
    その他のビューヘルパー
		構造化データをダンプ出力する
		出力結果を変数に格納する
		本体を持たない任意のタグを生成する
		本体を持つ任意のタグを生成する
    ビューヘルパーの自作
		シンプルなビューヘルパー
		HTML文字列を返すビューヘルパー
		本体を持つビューヘルパー
    アプリケーション共通のデザインを定義する - レイアウト -
		レイアウトを適用するさまざまな方法
		ページ単位にタイトルを変更する
		レイアウトに複数のコンテンツ領域を設置する
		レイアウトを入れ子に配置する
    テンプレートの一部をページ間で共有する - 部分テンプレート -
		部分テンプレートの基本
		部分テンプレートにパラメータを引き渡す
		コレクションに繰り返し部分テンプレートを適用する

第5章 モデル開発
    データ取得の基本 - findメソッド -
		主キー列による検索
		動的ファインダによる検索
    より複雑な条件での検索を行う - クエリメソッド -
		クエリメソッドの基礎
		基本的な条件式を設定する
		プレイスホルダによる条件式の生成
		名前付きパラメータと名前なしパラメータ
		データを並べ替える
		取得列を明示的に指定する
		取得範囲のレコードだけを取得する
		先頭 / 末尾のレコードを取得するには
		データを集計する
		集計結果をもとにデータを絞り込む
    データ取得のためのその他のメソッド
		データの存在を確認する
		よく利用する条件句をあらかじめ準備する
		デフォルトのスコープを定義する
		検索結果の行数を取得する
		特定条件に合致するレコードの平均や最大/最小を求める
		生のSQL命令を直接指定する
    レコードの登録 / 更新 / 削除
		レコードを追加/更新する
		登録 / 更新時に一部のフィールドを保護する
		複数のレコードをまとめて更新する
		レコードを削除する
		複数のレコードをまとめて削除する
		トランザクション処理を実装する
		オプティミスティック同時実行制御
		補足:その他の更新系メソッド
    検証機能の実装
		Active Modelで利用できる検証機能
		検証機能の基本
		その他の検証クラス
		検証クラス共通のパラメータ
		自作検証クラスの定義
    アソシエーションによる複数テーブルの処理
		リレーションシップと命名規則
		参照元テーブルから被参照テーブルの情報にアクセスする
		1:nの関係を表現する has_many
		1:1の関係を表現する has_one
		m:nの関係を表現する(1) has_and_belongs_to_many
		m:nの関係を表現する(2) has_many :through
		アソシエーションによって追加されるメソッド
		アソシエーションで利用できるオプション
    コールバック
		利用可能なコールバックを実行タイミング
		コールバック実装の基本
		コールバックのさまざまな定義方法
    マイグレーション
		マイグレーションのしくみ
		マイグレーションファイルの構造
		マイグレーションファイルの作成
		マイグレーションファイルで利用できる主なメソッド
		マイグレーションファイルの実行
		スキーマファイルによるデータベースの再構築
		データの初期化

第6章 コントローラ開発
    リクエスト情報
		リクエスト情報を取得する
		リクエストヘッダを取得する
		リクエストヘッダやサーバ環境変数を取得するための専用メソッド
		ファイルをアップロードする(1)	ファイルシステムへの保存
		ファイルをアップロードする(2)	データベースへの保存
    レスポンスの操作
		テンプレートファイルを呼び出す
		レスポンスをインラインで設定する
		空のコンテンツを出力する
		処理をリダイレクトする
		ファイルの内容を出力する
		バイナリーデータを出力する
		補足:ログを出力する
    HTML以外のレスポンス処理
		モデルの内容を XML / JSON形式 で出力する
		ERBテンプレートでXML文書を生成する
		応用:Atomフィールドを生成する
    状態管理
		クッキーを取得 / 設定する
		補足:永続化クッキー、署名付きクッキー
		セッションを利用する
		フラッシュを利用する
    フィルタ
		アクションの事前 / 事後に処理を実行する
		アクションの前後で処理を実行する
		フィルタの適用範囲をカスタマイズする
		例:フィルタによる基本認証の実装
		例:フィルタによるフォーム認証の実装
    アプリケーション共通の挙動を定義する - Applicationコントローラ -
		共通フィルタの定義	ログイン機能お実装
		共通的な例外処理をまとめる
		クロスサイトリクエストフォージェリ対策を行う

第7章 ルーティング
    RESTfulインターフェイスとは
		RESTfulインターフェイスを定義する
		単一のリソースを定義する
    RESTfulインターフェイスのカスタマイズ
		ルートパラメータの制約条件
		より複雑な制約条件の設定
		コントローラクラス / Urlヘルパーの名前を修正する
		モジュール配下のコントローラをマッピングする
		RESTfulインターフェイスに自前のアクションを追加する
		RESTfulインターフェイスのアクションを無効化する
		階層構造を持ったリソースを表現する
    非RESTfulなルートの定義
		非RESTfulルートの基本
		matchメソッドによるさまざまなルート表現
		ルートへのマッピングを定義する

第8章 テスト
    テストとは
    テストの準備
		テストデータベースの構築
		テストデータを準備する
    Unitテスト
		Unitテストの基本
		Unitテストの具体例
		テストの準備と後始末
    Functionalテスト
		Functionalテストの基本
		Functionalテストで利用できるAssertionメソッド
    Integrationテスト

第9章 Railsの高度な機能
    電子メールを送信する - Action Mailer -
		Action Mailerを利用する準備
		メール送信の基本
		複数フォーマットでのメール配信
    キャッシュ機能の実装
		ページキャッシュ
		アクションキャッシュ
		フラグメントキャッシュ
		フラグメントキャッシュでのロジックの記述
		補足:アクションキャッシュやフラグメントキャッシュの格納先を変更する
		スイーパーでキャッシュのクリア処理をまとめる
    アプリケーションの国際化対応 - I18n API-
		国際化対応アプリケーションの全体像
		国際化対応の基本的な手順
		ロケールを動的に設定する方法
		辞書ファイルのさまざまな配置と記法
		Rails標準の翻訳情報を追加する
		ビューヘルパー t の各種オプション
    Ajax 開発
		Ajaxの基礎知識
		RailsでjQueryを利用するための準備
		Ajax対応のハイパーリンクを生成する
		補足:更新コンテンツの生成は部分テンプレートで
		Ajax対応のフォームを生成する
		補足:Ajax呼び出しの際に進捗メッセージを表示する
		例:Yahoo!検索Web APIを利用する
    プラグインによるRails の機能拡張
		Railsのプラグイン
		ページング機能を実装する
    Apache+Passenger への配置

Home > Ruby on Rails > Rails3 開発手順まとめ本がやってきた。

Fedora 20
アーカイブ

Return to page top