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対応、プラグインの導入など実践的なアプリケーション開発を行っていくためのさまざまなテーマについて学びます。
更新履歴
- 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は小さなバージョンアップでもさまざまな変更が発生致しますので、学習されるにあたってはできるだけ書籍検証バージョンで環境準備されることをお勧めいたします。
その他、Railsは小さなバージョンアップでもさまざまな変更が発生致しますので、学習されるにあたってはできるだけ書籍検証バージョンで環境準備されることをお勧めいたします。
更新日: 2012.04.24
使用しているバージョンによっては、エラーが発生することがあるようです。
Gemfileで、以下のようにrakeのバージョンを0.8.7に固定した上で、bundle updateコマンドを実行してみてください。
gem 'rake', '0.8.7'
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
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アクセスのコード例としてのみご利用いただけますと幸いです。
原因です。
http://developer.yahoo.co.jp/changelog/2013-08-14-search.html
そのため、現在ではYahoo!を利用したコードも動作しなくなっておりますので、
あくまでWeb APIアクセスのコード例としてのみご利用いただけますと幸いです。
更新日: 2015.07.14
ダウンロード
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。