試験公開中

このエントリーをはてなブックマークに追加

はじめる! Rails3(2)

達人出版会

900円+税

Rails 3の入門書の続刊。Rails初心者向けの構成で、第2巻の本書ではモデルを中心に、入力値の検証、モデルとモデルの関連付け、そして例外処理を紹介。

書誌情報

  • 著者: 黒田努
  • 発行日:
  • 最終更新日: 2011-12-14
  • バージョン: 1.0.0
  • ページ数: 140ページ(A4PDF版換算)
  • 対応フォーマット: EPUB, PDF
  • 出版社: 達人出版会

対象読者

Railsをこれから始める人(初心者)、または初心者に教える方

著者について

黒田努

愛知県出身。在ギリシャ日本国大使館で専門調査員として3年間勤務した後、趣味を活かしてWeb業界に転職。主にケータイサイトを作っていました。Perl, PHPを経由して、2006年にRubyとRailsに出会い、それ以降は「Rails関連の仕事しか引き受けない」というポリシーで仕事を続けています。

2007年、Railsの教育・コンサルティングを業務内容とする株式会社オイアクスを設立。2011年、プログラム言語Rubyに特化したシステム開発会社ルビキタスの代表取締役に就任(オイアクス社長を兼務)。主にベンチャー企業から相談を受けて、Webを使った新しいサービスの企画・開発と運用支援を行っています。

常に意識しているのは、どうすればプログラミング経験の浅い方や職業プログラマではない方がRails開発に参画できるか、ということです。独創的なWebアプリケーションのアイデアを持った方が素早く確実にそれを世に問うためのお手伝いをしたいと思っています。

著書に『改訂新版 基礎Ruby on Rails』(2012年、共著、インプレス・ジャパン)があります。

目次

はじめに

  • 本書について
  • 動作確認環境
  • サンプルアプリケーション
  • 演習問題について
  • 謝辞

第1章 バリデーション(1)

  • validatesメソッド
  • バリデーションはいつ行われるか?
  • 入力できる文字数を制限する
  • 演習問題

第2章 バリデーション(2)

  • createアクションの修正
  • updateアクションの修正
  • updateアクションの別の書き方
  • Errorsオブジェクト
  • エラーの原因となったフィールドの識別
  • 演習問題

第3章 エラーメッセージの表示

  • エラーメッセージの一覧
  • エラーメッセージの日本語化(1)
  • エラーメッセージの日本語化(2)
  • フォームの日本語化
  • タイムゾーンの設定
  • 演習問題

第4章 モデル間の関連付け(1)

  • タスクをカテゴリー別に分類したい
  • カテゴリーのリストを表示する
  • コントローラを簡潔に保つ
  • Categoryモデルの実装
  • スタイルシートの修正
  • 演習問題

第5章 モデル間の関連付け(2)

  • カテゴリー別にタスクの一覧を表示したい
  • エラーメッセージを消す
  • ネストされたリソース
  • category_tasks_pathメソッドの正体
  • 配列がURLパスに変換される仕組み
  • 演習問題

第6章 モデル間の関連付け(3)

  • パラメータとして送られてくるもの
  • tasks#indexアクションの修正
  • 1対多の関係と外部キー
  • マイグレーションを初めからやり直す
  • カテゴリーとタスクを結びつける
  • 演習問題

第7章 モデル間の関連付け(4)

  • カテゴリーリストのUIを改善
  • 完了したタスクもカテゴリー別に表示したい
  • カテゴリーリストの修正
  • belongs_toメソッド
  • 演習問題

第8章 ビフォア・フィルター

  • ソースコードの重複を取り除きたい
  • ビフォア・フィルター
  • 演習問題

第9章 続・モデル間の関連付け(1)

  • モデルオブジェクト同士を結びつける
  • モデルオブジェクト同士を結びつける他の方法
  • クエリの回数を減らす
  • 結びつきの解除
  • 演習問題
  • Windowsでtailコマンドを使う

第10章 続・モデル間の関連付け(2)

  • findメソッド(1)
  • findメソッド(2)
  • whereメソッドによる絞り込み
  • order, offset, limit
  • count, size
  • exists?, empty?, present?, any?, many?
  • sizeメソッドとlengthメソッドの違い
  • 演習問題

第11章 セレクトボックスとラジオボタン

  • セレクトボックス
  • mapメソッド
  • create/update アクションは変更不要
  • ラジオボタンに変更
  • 不要なルーティングの除去
  • 演習問題

第12章 カテゴリーの管理(1)

  • categories#indexアクションの実装
  • tasksコントローラの各ページにメニューバーを追加
  • 修正リンクと削除リンクを表示
  • 演習問題

第13章 カテゴリーの管理(2)

  • カテゴリーの追加・名称変更フォーム
  • カテゴリーの追加・名称変更・削除
  • エラーメッセージの部分テンプレート化
  • categories#showアクション
  • 完璧を期すなら…
  • 演習問題

第14章 カテゴリーの管理(3)

  • タスクと結びつけられたカテゴリーの削除
  • 参照整合性のチェック
  • バリデーションとトランザクション
  • 演習問題

第15章 カテゴリーの管理(4)

  • 同じ名称のカテゴリーが登録されるのを防ぐ
  • 大文字と小文字を区別しない場合
  • いわゆる「全角」と「半角」の問題
  • 前後の余分な空白文字を除去する
  • 全角スペースを除去するには
  • 演習問題

第16章 例外処理(1)

  • production環境
  • 例外を捕捉する
  • 演習問題

第17章 例外処理(2)

  • アプリケーション全体で例外を捕捉する
  • コントローラ単位で例外を捕捉する
  • 一般的な例外(Internal Server Error)を捕捉する
  • ルーティングエラーを捕捉する
  • 演習問題

第18章 おわりに

開発環境のセットアップ

  • Rubyのインストール
  • RubyGemsの更新
  • Ruby on Railsのインストール
  • SQLite3 のインストール
  • サンプルアプリケーションHinagikuのインストール
  • 動作確認
  • 演習問題

参考文献など

  • ウェブ上の参考資料
  • 読書案内
Home 書籍一覧 はじめる! Rails3(2) ▲ ページトップへ戻る