|
|
| 訂正箇所 |
改訂 刷数 |
内容 |
最新の環境への対応について
|
未定
|
|
P.006
「リスト」と「コマンドの表記」の間に追加
|
2刷
|
| 追加情報 |
バックスラッシュの表記......文字列や正規表現などでエスケープ文字として利用されるバックスラッシュ(\)は、日本語キーボードでは¥キーに割り当てられています。この文字はフォントによって「\」と表記されることも「¥」と表記されることもあります。
|
|
P.008
下から2行目
|
2刷
|
| 誤 |
Railsパッケージなどを収録しています。
|
| 正 |
Railsパッケージなどを収録しています★。
注★翔泳社Webサイトの正誤表ページ(http://www.seshop.com/book/errata/)で、追加・補足情報・最新の環境への対応方法などを公開しているのでこちらも参照してください。
|
|
P.011
「Linuxの場合」の1行目
|
2刷
|
| 誤 |
以下の実行例ではCD-ROMドライブを/dev/cdroms/cdom0、
|
| 正 |
以下の実行例ではCD-ROMドライブを/dev/cdroms/cdrom0、
|
|
P.017
「原則1...DRY」の下、1行目
|
2刷
|
| 誤 |
「同じことを繰りかえさないこと」は、達人プログラマーとして知られているデイブ・トーマスさんが、…
|
| 正 |
「同じことを繰りかえさないこと」は、達人プログラマーとして知られているアンディ・ハントさんとデイ
ブ・トーマスさんが、…
|
|
P.030
「Linuxの場合」の3行目
|
2刷
|
| 誤 |
なお、以下の説明ではCDドライブを/dev/cdroms/cdom0、
|
| 正 |
なお、以下の説明ではCDドライブを/dev/cdroms/cdrom0、
|
|
P.031
|
未定
|
| 追加情報 |
プロキシサーバが必要な環境でaptitudeを実行する場合は、あらかじめ環境変数http_proxyにプロキシのホスト名とポート番号を設定しておいてください。なお、RubyGemsも該当環境変数を参照してプロキシサーバーを利用します。
|
|
P.032
9行目の右側のコマンドライン
|
2刷
|
| 誤 |
gem install rails --indclude-dependencies
|
| 正 |
gem install rails --include-dependencies
|
|
P.045
上から3つ目の実行例の最下行
|
2刷
|
| 誤 |
create app/views\aisatsu/bye.rhtml
|
| 正 |
create app/views/aisatsu/bye.rhtml
|
|
P.055,065
リスト1-10
|
未定
|
| 追加情報 |
@content_for_layout ではなく、yeield を推奨します。
●56ページ
リスト1-10 3行目
【修正前】<%= @content_for_layout %>
【修正後】<%= yield %>
●65ページ
リスト 1-10 右段2行目
【修正前】<%= @content_for_layout %> ……C
【修正後】<%= yield %> ……C
65ページで使っている yield とは、メソッドの内側から外部の処理を呼び出す特殊な式です。レイアウトでは、アクションに関連付けられたrhtml(たとえばdare.rhtml)がレイアウト用rhtmlの内側で処理されます。このため、yield式を利用してアクションに関連付けられたrhtmlの出力へ制御を移します。
なお、以前のRailsでは、@content_for_layoutという変数にアクションに関連付けられたrhtmlの出力を文字列として保持し、それを利用していましたが、現在は推奨されていません。
|
|
P.071
図2-03の引出線説明
|
2刷
|
| 誤 |
[Show]-------・削除するときクリック
[Destroy]----・内容を表示するときクリック
|
| 正 |
[Show]-------・内容を表示するときクリック
[Destroy]----・削除するときクリック
|
画面上の[Show]に対する説明と[Destroy]に対する説明を入れ替えます。
|
|
P.083
実行例の5行目と7行目
|
2刷
|
| 誤 |
<略>
-- execute("create user ypuser_production@localhost identified by 'ror'")
-> 0.1000s
-- execute("grant all privileges on yellowpage_production.* to 'ypuser_production'@'localhost'")
|
| 正 |
<略>
-- execute("create user ypuser_p@localhost identified by 'ror'")
-> 0.1000s
-- execute("grant all privileges on yellowpage_production.* to 'ypuser_p'@'localhost'")
|
|
P.084
実行例の上から5行目
|
2刷
|
| 誤 |
-- execute("create user ypuser_development@localhost identified by 'ror'")
|
| 正 |
-- execute("create user ypuser_d@localhost identified by 'ror'")
|
|
P.103
1行目
|
2刷
|
| 誤 |
2日目のサンプルプログラムは、
|
| 正 |
3日目のサンプルプログラムは、
|
|
P.108
手順2の実行例の2行目
|
2刷
|
| 誤 |
C:\--\rails\ajax>ruby script\generate controller calc console
|
| 正 |
C:\--\rails\calc>ruby script\generate controller calc console
|
|
P.110
最下行
|
2刷
|
| 誤 |
コントローラのソースファイルはapp/controllers/cacl_controller.rbです。
|
| 正 |
コントローラのソースファイルはapp/controllers/calc_controller.rbです。
|
|
P.111
リスト3-04のファイル名とリストの末尾の2箇所
|
2刷
|
| 誤 |
リスト3-04..._calc_controller.rb
------------------------------------------------
(省略)
end
0
end
|
| 正 |
リスト3-04...calc_controller.rb
------------------------------------------------
(省略)
end
0
end
end
|
リスト名に余計な「_」が付いていました。また、classに対応するendが抜けていました。
|
|
P.122
「Webブラウザーから~を受け取る」上から3行目
|
2刷
|
| 誤 |
start_form_tag メソッドに :multiple => true オプションを設定します。
|
| 正 |
start_form_tag メソッドに :multipart => true オプションを設定します。
|
|
P.136
リスト4-12の2ブロック目の3行目
|
2刷
|
| 誤 |
|
| 正 |
|
本文に利用しているフォントでは、「\」を「\」と表記しています。このリストでは文字間が詰まっているため「V」に見えますが、実際には「\/」です。Windowsを利用している場合には、「\/」と打ち込んでください。
|
|
P.136
リスト4_12 app/models/page.rbの追加部分の終端
|
2刷
|
| 誤 |
<略>
end ●--------------------------追加
def fullpath(dir)
"#{RAILS_ROOT}/public/#{dir}"
end
|
| 正 |
<略>
end
def fullpath(dir)
"#{RAILS_ROOT}/public/#{dir}"
end ●--------------------------追加
|
追加行の終端として示した部分の3行下が正しい終端となります。
|
|
P.140
リスト4-20 app/controller/album_controller.rbの追加部分の終端
|
2刷
|
| 誤 |
<略>
def update
@page = Page.find(params[:id])
if @page.update_attributes(params[:page])
redirect_to :action => 'show', :id => @page
else
render :action => 'edit' ●--------------------------追加
end
end
|
| 正 |
<略>
def update
@page = Page.find(params[:id])
if @page.update_attributes(params[:page])
redirect_to :action => 'show', :id => @page
else
render :action => 'edit'
end ●--------------------------追加
end
|
次ページの1行目が正しい終端となります。
|
|
P.168
オレンジ色の囲み内「poファイル」の説明文
|
2刷
|
| 誤 |
日本語化したいボタン名やメッセージにを日本語を設定します。
|
| 正 |
日本語化したいボタン名やメッセージに日本語を設定します。
|
|
P.172
手順2
|
未定
|
| 追加情報 |
Ruby-GetTextを利用するにはRailsにgettextのrailsライブラリと、moファイルをロードしておく必要があります。この処理は、Webアプリケーションを実行するために呼び出されるコントローラ内に記述します。ただし、利用するプラグイン(6日目参照)によっては、コントローラを読み込まないものがあるため、以下のように、config\environment.rb で組み込みを行い、コントローラではテキストドメインの指定のみ行います。
上記を踏まえて、5日目のサンプルプログラムのうち、関連するファイルの変更点は以下の通りです。
environment.rb
----------------------------------------
# Include your application configuration below ←最終行
require 'gettext/rails' ←追加。gettextのrailsライブラリをロードする。
----------------------------------------
application.rb
----------------------------------------
# Filters added to this controller will be run for all controllers in the application.
# Likewise, all the methods added will be available for all controllers.
class ApplicationController < ActionController::Base
init_gettext 'albumj' ←追加。プロジェクト名と同じテキストドメイン(poファイルの単位)をアプリケーションが利用することを指示
end
----------------------------------------
|
|
P.172
リスト5-10 5行目
|
2刷
|
| 誤 |
プロジェクト名と同じテキストメイン
|
| 正 |
プロジェクト名と同じテキストドメイン
|
|
P.174
本文の下から2行目
|
2刷
|
| 誤 |
このとき、直接HTMLに記述していたテキストは、_( )で囲んだ上に、さらに<%= h %>で囲みます。
|
| 正 |
このとき、直接HTMLに記述していたテキストは、' 'または" "で囲んでHTML上のテキストからRubyプログラ
ムの文字列としてくくってから_( )で囲み、さらに<%= h %>で囲みます。
|
|
P.175
リスト5-05 _content.rhtmlの下から3行目
|
2刷
|
| 誤 |
<p><%= h _(memo) %><br/> ....B
|
| 正 |
<p><%= h _('memo') %><br/> ....B
|
|
P.184
「C」の説明文の1行目
|
2刷
|
| 誤 |
C... update_profilesメソッドは、
|
| 正 |
C... update_pofilesメソッドは、
|
|
P.200
手順5の1行目
|
2刷
|
| 誤 |
app/contollers/application.rb
|
| 正 |
app/controllers/application.rb
|
|
P.212
リスト6-14 下から7行目と8行目
|
2刷
|
| 誤 |
<% if user? %> <<<追加。ログイン済みなら、編集、削除のリンクを作成。
<td class="edit"><%= link_to _('Edit'), :action => 'edit', :id => page %>/td> <<< 追加
<td class="delete"><%= link_to _('Delete'), :action => 'delete', :id => page %></td> <<<追加
<% end %> <<<追加
</tr>
<%
end
%>
</table>
|
| 正 |
<% if user? %> <<<追加。ログイン済みなら、編集、削除のリンクを作成。
<td class="edit"><%= link_to _('Edit'), :action => 'edit', :id => page %>/td>
<td class="delete"><%= link_to _('Delete'), :action => 'delete', :id => page %></td>
<% end %> <<<追加
</tr>
<%
end
%>
</table>
|
|
P.219
リスト6-06 2つ目のブロックの「......A」が入る場所を2箇所修正
|
2刷
|
| 誤 |
else
flash[:notice] << _(' Please log in.')
end
redirect_to :action => 'login'
end
end
rescue Exception => e
flash.now[:notice] = nil ......A
flash.now[:warning] = _('Error creating account: confirmation email not sent')
logger.error "Unable to send confirmation E-Mail:" ......B
logger.error e
end
end
|
| 正 |
else
flash[:notice] << _(' Please log in.')......A
end
end
redirect_to :action => 'login'
end
rescue Exception => e
flash.now[:notice] = nil
flash.now[:warning] = _('Error creating account: confirmation email not sent')......A
logger.error "Unable to send confirmation E-Mail:" ......B
logger.error e
end
end
|
|
P.227
図6-13の下の段落
|
2刷
|
| 誤 |
キーワードを埋め込むことによるメリットは次の2つです。1つはRubyのフォーマットメソッドでは翻訳の都合による単語の順序の入れ替えができないことです。たとえば、この例では"%sに%sをコピーしました"のように翻訳したいかもしれません。しかし、Rubyのフォーマットメソッドは、置き換えを引数の出現順序に頼っています。したがって、Ruby-GetTextのように実行時にフォーマット文字列を置き換える仕組みでは対応できません。
|
| 正 |
キーワードを埋め込むことによるメリットは次の2つです。1つはフォーマットメソッドでの引数の順序の入れ替えが一般的ではないことです(注)。そのため、単純に "%sに%sをコピーしました" のようにフォーマット文字列を記述すると、出現順に引数が置き換えられてしまいます。
注)%と指示子(sなど)の間にnth$形式の引数指定を記述することで制御できます。この例では "%2$s was copied into %1$s" のように書くことで順序を交換できます。
|
本文を訂正し、注を追加しています。
|
|
P.230
一番上の見出し
|
2刷
|
| 誤 |
7日目のサンプルalbumjxプロジェクト
|
| 正 |
7日目のサンプルalbumixプロジェクト
|
|
P.243
リスト7-02
|
2刷
|
| 誤 |
module Yahoo
APPID = 'アプリケーションID' <<<プログラム時には、?の代わりに取得したアプリケーションIDを入力。
end
|
| 正 |
module Yahoo
APPID = 'アプリケーションID' <<<プログラム時には、取得したアプリケーションIDを入力。
end
|
|
P.258
コードリスト内、最下行
|
2刷
|
| 誤 |
t.print
|
| 正 |
t.print_a
t.print_b
|
|
P.288
リスト名
|
2刷
|
| 誤 |
リスト....database.yrml
|
| 正 |
リスト....database.yml
|
|
P.357
注3
|
2刷
|
| 誤 |
lightpdは「ライティ」と読みます。
|
| 正 |
lighttpdは「ライティ」と読みます。
|
|
P.381
一番下のコードリスト2行目
|
2刷
|
| 誤 |
<%= hidden_fiedl_tag 'name', @person.name %>
|
| 正 |
<%= hidden_field_tag 'name', @person.name %>
|
|
P.381
一番上のrhtml
|
2刷
|
| 誤 |
<%= hidden_fiedl_tag 'name', @name %>
|
| 正 |
<%= hidden_field_tag 'name', @name %>
|
|
P.393
「ERB」の2行目
|
2刷
|
| 誤 |
(開発は関正俊さん)
|
| 正 |
(開発は関将俊さん)
|
|
|
ページ上に戻る
|