『改訂3版 基礎Ruby on Rails』正誤表
2015/05/18
最終更新日:2017/01/09
読者のみなさまのご協力に感謝します:YT様、KW様、HM様、YT様、NT様、SO様、KM様、TB様、ST様、HS様、NK様、AI様、YM様、TY様、TS様、YO様、JH様、MH様、YI様
本書で誤字、脱字、内容の間違いなどを見つけた方は、hermes@oiax.jp までご連絡ください。
初版第2刷 (2016-11-21発行)
Chapter 9
P.455 LIST、21行目 New
誤: member = assigns[:member]
正: member = assigns(:member)
P.455 LIST、28行目 New
誤: member = assigns[:member]
正: member = assigns(:member)
P.485 第2のLISTのパス New
誤: section9-5/test/integration/manager_articles_test.rb
正: section9-5/test/integration/manage_articles_test.rb
初版第1刷 (2015-05-21発行)
Chapter 1
P.24 ページ下部のコマンド入力例
誤:
C:¥Users¥taro> rails -v
Rails 4.2.1
正:
C:¥Users¥taro> rails -v
DL is deprecated, please use Fiddle.
Rails 4.2.1
DL is deprecated, please use Fiddle.
は、Ruby Installer for Windows に添付されているライブラリが古いことを示すもので、実用上の問題はありません。このメッセージは Ruby 2.1.6 以降では表示されません。
P.34 ページ下部のコマンド実行例
下から4行目の route get 'top/index'
を削除。
P.81 LIST chapter2/books.txt の下
次のHINTを追加。
書名と価格の間をタブ文字で区切ってください。テキストエディタAtomは、初期設定でタブ文字をスペース文字に展開します。タブ文字を入力する時は Ctrl+,
キーで設定画面を開き、「Soft Tabs」のチェックを外してください。
Chapter 3
P.123 第1のLIST
末尾に次の記述を追加。
(以下省略)
P.130 第1のLISTのパス
誤:chapter3/app/config/routes.rb
正:chapter3/config/routes.rb
P.144 表「文字列用のヘルパーメソッド」の2段目
誤 excerpt(文字列, 語句, radius: 文字列)
正 excerpt(文字列, 語句, radius: 文字数)
P.147 本文下から5行目およびLIST
誤 rails.png
正 rails-logo.svg
Chapter 4
P.189 3番目のコンソール操作例
下から2行目の irb(main):010:0> member.save
を上から5行目に移動。
P.194 本文1行目「Windowsの方は、…」の上に、次の文を挿入。
なお、
db:reset
およびdb:migrate:reset
タスクを実行する前に、Railsサーバーを停止してください。
本書のようにDBMSとしてSQLite3を使用している場合、これらのタスクを実行してデータベースの中身が変更されても、ブラウザに表示される内容が変化しないことがあります。
P.198 1番目のコンソール操作例(1行目)
誤 member = Member.where(name: "Taro"); nil
正 members = Member.where(name: "Taro"); nil
P.200-201 表「クエリーメソッド一覧」の8段目
誤 limit(整数})
正 limit(整数)
Chapter 5
P.215 第2のコード例
誤:
resources :members do
get "search", on: collection # メンバーの検索
put "suspend", "restore", on: :member # メンバーの停止・再開
end
正:
resources :members do
get "search", on: :collection # メンバーの検索
patch "suspend", "restore", on: :member # メンバーの停止・再開
end
P.219 本文、下から5行目
誤:MembersControlller
正:MembersController
P.222 本文、下から2行目
誤:app/assetsフォルダに新規ファイルtable.cssを追加します
正:app/assets/stylesheetsフォルダに新規ファイルtable.cssを追加します
P.222 LISTのパス
誤:chapter5/app/assets/table.css
正:chapter5/app/assets/stylesheets/table.css
P.224 第2のLIST
誤:data: { confirm: "本当に削除しますか?" %> }
正:data: { confirm: "本当に削除しますか?" } %>
Chapter 6
P.257 HINT 3番目のコード例
誤:scope :active, where(deleted: false)
正:scope :active, -> { where(deleted: false) }
P.272 LIST
16〜18行のインデントを半角2文字分減らす。なお、サンプルソースコードの修正は不要です。
Chapter 7
P.291 本文8行目
誤: 「bin/rake test」の後に
正: 「bin/rake test TEST=」に続けて
P.291 コマンド実行例
誤: bin/rake test test/models/member_test.rb
正: bin/rake test TEST=test/models/member_test.rb
P.292 LIST のパス
誤: chapter7/test/controller/member_controller_test.rb
正: chapter7/test/controller/members_controller_test.rb
P.302 本文、下から1行目
誤:テストスクリプトでバリデーションをテストするするには
正:テストスクリプトでバリデーションをテストするには
P.303 本文、3行目
誤:valid?メソッドを呼び出したあとで
正:valid?メソッドやinvalid?メソッドを呼び出したあとで
P.306 本文、3行目
誤:4行目でchack_expired_atメソッドで
正:4行目でcheck_expired_atメソッドで
P.308 本文、5行目
誤:no_expirationをnilにするコードを加えましょう。
正:expired_atをnilにするコードを加えましょう。
Chapter 8
P.382 LISTの56行目
誤: :released_at, :expired_at, :member_only)
正: :released_at, :no_expiration, :expired_at, :member_only)
P.364 LISTの7行目
誤: method: :delete, data: { confirm: "ログアウトしますか?" %> }
正: method: :delete, data: { confirm: "ログアウトしますか?" } %>
P.367 第1のLISTのパス
誤:section8-2/app/views/articles/index.rb
正:section8-2/app/views/articles/index.html.erb
P.368 第1のLISTの9行目
誤: rel = where("released_at <= ? AND (? < expired_at OR " +
正: where("released_at <= ? AND (? < expired_at OR " +
P.388 LISTの24行目
誤: params.require(:account).permit(:number, :name, :full_name
正: params.require(:account).permit(:number, :name, :full_name,
P.391 本文の 5 行目
誤:rednerメソッドには
正:renderメソッドには
P.394 図「400エラーの表示」
誤:404 Bad Request
正:400 Bad Request
Chapter 9
P.429 本文、5行目〜6行目
誤:(前会員の記事一覧)
正:(全会員の記事一覧)
P.450 コード例の1行目
誤:<%= form_for @member, html: { multipart: true } do |form} %>
正:<%= form_for @member do |form} %>
P.452 第2のLISTのパス
誤:section9-3/app/controllers/members_controller.rb
正:section9-3/app/controllers/accounts_controller.rb
P.455 LISTのパス
誤:section9-3/test/functional/members_controller_test.rb
正:section9-3/test/controllers/members_controller_test.rb
P.455 LIST、21行目 New
誤: member = assigns[:member]
正: member = assigns(:member)
P.455 LIST、28行目 New
誤: member = assigns[:member]
正: member = assigns(:member)
P.466 本文、下から2行目
誤: 「マイブログ」
正: 「ブログ」
P.468 LISTの21行目
誤: root to: "top#index"
正: root "top#index"
誤りではありませんが、2行目と同じ形式で書くべきです。
P.475 第3のLISTの5行目
誤:<%= form_for [:admin, @member], html: { multipart: true } do |form} %>
正:<%= form_for [:admin, @member] do |form} %>
P.475 第4のLISTの7行目
誤:<%= form_for [:admin, @member], html: { multipart: true } do |form} %>
正:<%= form_for [:admin, @member] do |form} %>
P.476 本文、箇条書きの第2項目
誤:app/controllers/membersフォルダの下から
正:app/views/membersフォルダの下から
P.476 本文、箇条書きの第2項目
誤: new.html.erb、edit.html.erb、_form.html.erbの3つのファイルを
正: new.html.erb、edit.html.erbの2つのファイルを
_form.html.erb
は app/views/account/edit.html.erb
で使われているので削除できません。
P.476 本文、箇条書きの直後
誤:app/controllers/members/index.html.erbを開いて
正:app/views/members/index.html.erbを開いて
P.479 第1のLIST
誤:
(省略)
5 <p><%= link_to "新規作成", :new_admin_article %></p>
(省略)
21 <%= link_to "編集", [:edit,:admin, article] %> |
22 <%= link_to "削除", [:admin, article], method: :delete,
23 data: { confirm: "本当に削除しますか?" } %>
(省略)
正:
(省略)
5 <p><%= link_to "新規作成", :new_admin_article %></p>
(省略)
17 <td><%= link_to article.title, [:admin, article] %></td>
18 <td><%= article.released_at.strftime("%Y/%m/%d %H:%M") %></td>
19 <% if current_member %>
20 <td>
21 <%= link_to "編集", [:edit,:admin, article] %> |
22 <%= link_to "削除", [:admin, article], method: :delete,
23 data: { confirm: "本当に削除しますか?" } %>
(省略)
17行目の article
を [:admin, article]
に修正する必要があります。
P.479 第2のLISTのパス
誤: section9-5/app/views/admin/members/show.html.erb
正: section9-5/app/views/admin/articles/show.html.erb
P.479 第3のLISTのパス
誤: section9-5/app/views/admin/members/new.html.erb
正: section9-5/app/views/admin/articles/new.html.erb
P.479 第4のLISTのパス
誤: section9-5/app/views/admin/members/edit.html.erb
正: section9-5/app/views/admin/articles/edit.html.erb
P.480 本文、箇条書きの第2項目
誤: app/controllers/articlesフォルダの
正: app/views/articlesフォルダの
P.485 第2のLISTのパス New
誤: section9-5/test/integration/manager_articles_test.rb
正: section9-5/test/integration/manage_articles_test.rb
P.485 第2のLISTの20行目
誤: assert_redirected_to [:admin, assigns[:article]]
正: assert_redirected_to [:admin, assigns(:article)]
付録F 練習問題の解答
P.511 Chapter 6 [C] の解答の2行目
誤: validates :title, :author
正: validates :title, :author, presence: true
P.512 Chapter 7 [A] の解答の4行目
誤: assert article.errors.include?(:title)
正: assert book.errors.include?(:title)
索引
P.515
誤:current ... 87
正:current ... 88