改訂新版 基礎Ruby on Rails 正誤表

2012/02/25

『改訂新版 基礎Ruby on Rails』 読者サポートページ

最終更新日:2015年1月28日

多くの間違いを指摘してくだされた本多様、田中様に感謝いたします。

第1刷

P7 表

P7 表「Railsのバージョン」

誤 3.1 2011/04/31

正 3.1 2011/08/31

P169 本文

P169 本文4行目(2013-04-15追加)

誤 また、「t.boolean :gender」に付いている

正 また、「t.integer :gender」に付いている

この間違いは第2刷でも残っています。

P195 コロンの抜け

「collection」と「member」の前にコロンが必要です。

P195 2つ目の青い枠線(2012-04-13追加)

誤 get "search", on: collection
誤 get "restore", on: member

正 get "search", on: :collection
正 get "restore", on: :member

P281, P402 二重引用符の抜け

P281 2つ目のLIST

正
errors:
  messages:
    invalid_member_name: "は半角英数字で入力してください(_も使えます)。"
    expired_at_too_old: "は掲載開始日より新しい日時にしてください。"

P402 3つ目のLIST

正
errors:
  messages:
    invalid_member_name: "は半角英数字で入力してください(_も使えます)。"
    expired_at_too_old: "は掲載開始日より新しい日時にしてください。"
    too_big_image: "が大きすぎます(最大64KB)。"
    invalid_image: "の形式が違います(JPEG、GIF、PNGのどれかにしてください)。"

P248, P281, P402で、ja.yml内のエラーメッセージに二重引用符が付いていたり、いなかったりしています。二重引用符を付けるほうで統一してください。YAMLでは、長めのテキストは二重引用符で囲むほうがいいでしょう(空白文字が含まれることがあるため)。

P300, 349 フラッシュメッセージの付け忘れ

フラッシュnoticeを加えてください。

P300 2つ目のLIST

誤 redirect_to :articles
正 redirect_to :articles, notice: "ニュース記事を削除しました。"

P349 4つ目のLIST

誤 redirect_to :admin_articles
正 redirect_to :admin_articles, notice: "ニュース記事を削除しました。"

P301, 326, 337, 347, 350 LISTのファイル名の間違い

P301 1つ目のLIST (2012-04-07追加)

誤 chapter7¥test¥functional¥articles_controller_test.rb
正 chapter7¥test¥functional¥top_controller_test.rb

P301 2つ目のLIST (2012-04-07追加)

誤 chapter7¥app¥controllers¥articles_controller.rb
正 chapter7¥app¥controllers¥top_controller.rb

P326 1つ目のLIST

誤 chapter8a\db\migrate\20120113024328_modify_members1.rb
正 chapter8a\db\migrate\20120126092514_modify_members1.rb

P337 LIST (2013-03-05訂正)

誤 chapter8a\test\integration\login_logout_test.rb
正 chapter8a\test\integration\user_authentication_test.rb

P346 LIST 3つ目 (2013-09-11訂正)※ 第2刷にも残っています。

誤 chapter8b\app\views\members\admin\show.html.erb
正 chapter8b\app\views\admin\members\show.html.erb

P350 LIST 1つ目~3つ目 (2012-06-15 追加)

誤 chapter8b\app\views\admin\members\show.html.erb
正 chapter8b\app\views\admin\articles\show.html.erb
誤 chapter8b\app\views\admin\members\new.html.erb
正 chapter8b\app\views\admin\articles\new.html.erb
誤 chapter8b\app\views\admin\members\edit.html.erb
正 chapter8b\app\views\admin\articles\edit.html.erb

P315 Sass

「20」に単位pxを加えてください。

P315 LISTのdiv#content { ~ } 内

誤 width: $container_width - $sidebar_width - 20;
正 width: $container_width - $sidebar_width - 20px;

P318 jQuery

P318 LIST 2つ目 (2013-09-11 追加) ※ 第2刷にも残っています。

誤 if $("#article_no_expiration").attr("checked")
正 if $("#article_no_expiration").prop("checked")

P169 本文

P326 本文3行目(2015-01-28追加) ※ 第2刷にも残っています。

誤 を記述します。
正 を記述します。ただし、323ページで追加したattr_accessor :password, ...よりも下に挿入してください。

P333 ハッシュの表記

本書では、キーがシンボルのハッシュの要素を「キー: 値」のように、Ruby 1.9の書き方で統一しています。

P333 本文

誤 ファインダーメソッド「where(:member_only => false)」を加えて、
正 ファインダーメソッド「where(member_only: false)」を加えて、

P333 3つ目のLIST

誤 member.kind_of?(Member) ? rel : rel.where(:member_only => false) }
正 member.kind_of?(Member) ? rel : rel.where(member_only: false) }

P347, 351 本文中のフォルダ名の間違い

P347 本文 (2012-04-21追加)

誤 ■ app¥controllers¥membersフォルダの下から、
正 ■ app¥views¥membersフォルダの下から、

P351 本文 (2012-04-21追加)

誤 ■ app¥controllers¥articlesフォルダの下から、
正 ■ app¥views¥articlesフォルダの下から、

P351, 411, 421, 423, 427 修正しないとサンプルが正しく動作しない、あるいはエラーが出る間違い

P351 下のLIST、4行目 (2012-04-21追加)

誤  <% if @articles.empty? %>
正  <% if @articles.present? %>

P411 下のLIST、5行目 (2012-04-21追加)

誤  <% if @current_member == @member %>
正  <% if @current_member && @current_member == @member %>

P421 1番下のLIST、3行目 (2012-04-13追加)

誤   { member: member,
正   { author: member,

P424 1番下のLIST、下から4行目 (2012-04-13追加)

誤  <% if @current_member.votable_for?(@entry) %>
正  <% if @current_member && @current_member.votable_for?(@entry) %>

P427 1番下のLIST、1行目 (2012-04-21追加)

誤  <% if @current_member == @member %>
正  <% if @current_member && @current_member == @member %>

細かい間違い

P24 HINT「Gemfileの編集」

誤 factony_girl
正 factory_girl

P29 表「フォルダの役割」(続き)6行目 ※ 第2刷にも残っています。

誤 vender
正 vendor

P82 1つ目のRESULTの2行目
※紙面の結果は、2012年1月26日に実行した、という設定のものです。

誤 2012-01-26 20:45:28 +0900
正 2012-01-16 20:45:28 +0900

P88 LISTの末尾から3行目

誤 puts robo1
正 puts robo1.to_s

※ putsメソッドに文字列以外のオブジェクトを引数として渡した場合、暗黙裏にそのオブジェクトのto_sメソッドを呼んで文字列に変換します。したがって、本来この訂正は不要ですが、本文中にputsメソッドの仕様に関する説明がなく分かりにくいため、このように訂正します。第2刷にも残っています。

P88 LISTの末尾から1行目

誤 puts robo2
正 puts robo2.to_s

※ 第2刷にも残っています。

P131 HINT「link_toの引数での特殊文字」のソース
※<p>が余計です。

誤 → <p><a href="/">&lt;b&gt;Top&lt;/b&gt;</a>
正 → <a href="/">&lt;b&gt;Top&lt;/b&gt;</a>

P240 本文1行目 (2013-12-07追加)※ 第2刷にも残っています。

誤 _from.html.erbの先頭に
正 _form.html.erbの先頭に

P278 本文下から2行目 (2012-04-07追加)

誤 valid?メソッドを呼び出したあとで 
正 invalid?メソッドを呼び出したあとで

P325 本文5-6行目 (2013-04-17追加)
※パッケージ名から「c」が抜けています(2カ所)。

誤 Gemパッケージのbrypt-rubyを使うのが便利です。Gemfileにはbrypt-rubyの設定が
正 Gemパッケージのbcrypt-rubyを使うのが便利です。Gemfileにはbcrypt-rubyの設定が