書籍詳細(Ruby on Rails 3 アプリケーションプログラミング)

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

ISBN: 978-4-7741-4663-8

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

山田祥寛 著

サポート終了
著者山田祥寛
出版社技術評論社
価格3,500円(税別)
判形B5変版・1色
ページ数480ページ
発売日2011年5月12日
シリーズ アプリケーションプログラミング
対象レベル中級

改訂版が刊行されています。詳細はこちらをご覧ください。

Ruby on Railsを初めて学ぶ人のために

初心者にもわかりやすく、Rails開発を行う上での基礎的な構文、キーワード、Model、View、Controllerについて詳しく説明します。
導入編、基本編と段階を追って学習していき、応用編では、ルーティング、テスト、キャッシュ処理、Ajax対応、プラグインの導入など実践的なアプリケーション開発を行っていくためのさまざまなテーマについて学びます。
Ruby on Rails 3 アプリケーションプログラミング ロゴ

更新履歴

  • FAQ情報:2015年7月14日 更新
  • 正誤訂正:2013年5月2日 更新

目次

  • 第1章 イントロダクション
  • Railsというフレームワーク
  • Railsを利用するための環境設定
  • 第2章 Ruby on Railsの基本
  • アプリケーションの作成
  • コントローラの基本
  • ビューの基本
  • モデルの基本
  • Rails の設定情報
  • 第3章 Scaffolding機能によるRails開発の基礎
  • Scaffolding機能によるアプリケーション開発
  • 一覧画面の作成(indexアクション)
  • 詳細画面の作成(showアクション)
  • 新規登録画面の作成(new/createアクション)
  • 編集画面の作成(edit/updateアクション)
  • 削除機能の確認(destroyアクション)
  • 準備:本書で使用するデータベース
  • 第4章 ビュー開発
  • フォーム関連のビューヘルパー
  • 文字列/数値関連のビューヘルパー
  • リンク関連のビューヘルパー
  • 外部リソース指定のためのビューヘルパー
  • その他のビューヘルパー
  • ビューヘルパーの自作
  • アプリケーション共通のデザインを定義する - レイアウト -
  • テンプレートの一部をページ間で共有する - 部分テンプレート -
  • 第5章 モデル開発
  • データ取得の基本 - findメソッド -
  • より複雑な条件での検索を行う - クエリメソッド -
  • データ取得のためのその他のメソッド
  • レコードの登録/更新/削除
  • 検証機能の実装
  • アソシエーションによる複数テーブルの処理
  • コールバック
  • マイグレーション
  • 第6章 コントローラ開発
  • リクエスト情報
  • レスポンスの操作
  • HTML以外のレスポンス処理
  • 状態管理
  • フィルタ
  • アプリケーション共通の挙動を定義する - Applicationコントローラ -
  • 第7章 ルーティング
  • RESTfulインターフェイスとは
  • RESTfulインターフェイスのカスタマイズ
  • 非RESTfulなルートの定義
  • 第8章 テスト
  • テストとは
  • テストの準備
  • Unitテスト
  • Functionalテスト
  • Integrationテスト
  • 第9章 Railsの高度な機能
  • 電子メールを送信する - Action Mailer -
  • キャッシュ機能の実装
  • アプリケーションの国際化対応 - I18n API-
  • Ajax 開発
  • プラグインによるRails の機能拡張
  • Apache+Passenger への配置

正誤表

該当頁 該当箇所 修正刷
訂正箇所 訂正事項 更新日
p.33 側注16 3刷
P.47の[Note]を合わせて参照してください。 P.36の[Note]を合わせて参照してください。 2012/02/03
p.34 下から6行目、リスト右側の吹き出し -
変数priceの値を表示 変数resultの値を表示 2013/05/02
p.36 「Note アクションメソッドは省略可能」の本文1行目 3刷
アクションメソッドでの処理が必要な場合 アクションメソッドでの処理が必要ない場合 2011/10/14
p.56 表 2-10 cache_classesの概要 3刷
リクエスト都度にアプリケーションクラスをリロードするか アプリケーションクラスをキャッシュするか 2011/08/13
p.60 本文6行目 3刷
Scaffolding(スキャフィールディング) Scaffolding(スキャフォールディング) 2011/12/26
p.91 リスト3-13 xxxxx_create_authors_books.rb 2刷
t.integer "author_id"
t.integer "book_id"
t.references :author
t.references :book
2011/06/06
p.91 リスト3-13 xxxxx_create_authors_books.rb 3刷
create_table "authors_books", :id => false do |t| create_table :authors_books, :id => false do |t| 2012/01/11
p.92 手順4 フィクスチャでテストデータを生成する 2刷
すべての.ymlファイル(authors.yml、authors_books.yml、books.yml、reviews.yml、users.yml、fun_comments.yml)を members.ymlを除く6つの.ymlファイル(authors.yml、authors_books.yml、books.yml、reviews.yml、users.yml、fun_comments.yml)を 2011/06/06
p.100 表4-3の下 本文1行目 3刷
同じく_tagメソッドなしのFormヘルパーを 同じく_tagなしメソッドのFormヘルパーを 2011/10/14
p.110 図4-5 authros_booksテーブル 3刷
- (created_atとupdated_atは不要) 2011/10/14
p.137 図4-14 引数objの値(右端) -
1682.92307… 1682.92980 2013/05/02
p.147 構文 link_to_unless_currentの引数解説部分 3刷
body:リンクテキスト name:リンクテキスト 2011/10/11
p.150 リスト4-43 上から5行目 -
<%= image_tag \\'http://www.web-deli.com/image/linkbanner.gif\\' %> <%= image_tag \\'http://www.web-deli.com/image/linkbanner_s.gif\\' %> 2013/05/02
p.180 本文 下から2行目 3刷
このように定義されたレイアウトテンプレートを このように定義された部分テンプレート 2011/10/14
p.183 本文 下から3行目 3刷
サンプルを実行し、図4-30のような結果が サンプルを実行し、図4-31のような結果が 2011/10/14
p.185 本文 下から5行目 3刷
renderメソッドは配列@bookを構成するモデル renderメソッドは配列@booksを構成するモデル 2011/10/14
p.200 本文3行目 3刷
たとえば、出版社(publish列)について たとえば、刊行日(published列)について 2011/10/11
p.205 Note 「Note 名前付きスコープはパラメータ化も可能」の本文3行目と4行目(2か所) 3刷
whatsNewスコープ whats_newスコープ 2011/10/11
p.209 5.3.6 の本文6行目 3刷
リスト5-25をfind_by_sqlで リスト5-16をfind_by_sqlで 2011/10/14
p.222 リスト5-41 4刷
<% hidden_field :lock, :lock_version %> <%= f.hidden_field :lock_version %> 2012/01/09
p.246 図5-23 authers_booksテーブル -
- created_atとupdated_atは削除 2013/05/02
p.249 本文解説3、4行目 3刷
リスト5-62の太字部分です。
(...中略...)
bookはリスト5-60で定義した関連名を
リスト5-64の太字部分です。
(...中略...)
bookはリスト5-62で定義した関連名を
2011/07/30
p.253 本文1行目 -
BookとAuthor双方のモデルから UserとAuthor双方のモデルから 2013/05/02
p.316 6.3.2の[1]の本文3行目 3刷
「~ctrl/xml_erb.xml」のように、拡張子のような形式で 「~ctrl/xml_erb.xml」のように、拡張子 2011/12/22
p.324 リスト6-24 3刷
:http_only :httponly 2011/10/15
p.338 6.5.2 アクションの前後で処理を実行する 見出し、本文(計3か所) 2刷
arroundフィルタ aroundフィルタ 2011/06/06
p.385 本文 1行目 3刷
たとえば、リスト8-4のテストスクリプトを たとえば、リスト8-3のテストスクリプトを 2011/10/14

FAQ

発刊後、Railsのバージョンアップによって、標準で生成されるコードが変更になっております。
その他、Railsは小さなバージョンアップでもさまざまな変更が発生致しますので、学習されるにあたってはできるだけ書籍検証バージョンで環境準備されることをお勧めいたします。

更新日: 2012.04.24

使用しているバージョンによっては、エラーが発生することがあるようです。
Gemfileで、以下のようにrakeのバージョンを0.8.7に固定した上で、bundle updateコマンドを実行してみてください。

gem 'rake', '0.8.7'

更新日: 2012.02.07

Railsの不具合?があるようです。P.436に沿ってja.ymlをconfig/localesフォルダに配置してください。

更新日: 2011.09.23

Windows版SQLite 3.7.6は、正しく動作しないようです。
sqlite3.dllは、以下のリンクよりバージョン3.7.5をご利用ください。

http://www.sqlite.org/sqlite-dll-win32-x86-3070500.zip

更新日: 2011.04.29

本書P.440を参考にjQuery対応のrails.jsへの入れ替えと、jQuery.jsの組み込みを行ってください。

更新日: 2011.05.08

モデル側で、アソシエーションの設定が行われていないのではないかと
思われます。サンプルコードを一式まとめて(ファイル
単位ではなく)コピーした上でご確認願います。

更新日: 2011.10.11

モデル側で、アソシエーションの設定が行われていないのではないかと
思われます。サンプルコードを一式まとめて(ファイル
単位ではなく)コピーした上でご確認願います。

更新日: 2012.09.20

Yahoo!の該当するサービスが2013年8月をもって終了していることが
原因です。
http://developer.yahoo.co.jp/changelog/2013-08-14-search.html

そのため、現在ではYahoo!を利用したコードも動作しなくなっておりますので、
あくまでWeb APIアクセスのコード例としてのみご利用いただけますと幸いです。

更新日: 2015.07.14

お問い合わせ

書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。

Powered by メールフォーム 『オレンジフォーム』