scaffoldで生成されるviewテンプレート(templates)を日本語表示に変更する

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

scaffoldは、RailsやCakePHPなどのWEBアプリ・フレームワークの一番の特徴とも言える機能。
これにより、モデル、ビュー、コントローラー、DBマイグレーションファイルなどが一発で自動生成されて、とても楽にCRUD処理中心のWEBアプリを作成できます。
Rails2.0の場合のscaffoldは、以下のようなコマンドを実行します。

スポンサーリンク

ruby script/generate scaffold hoge name:string account:string

「ruby script/generate scaffold モデル名 カラム名:データ型 カラム名:データ型」となる。
Railsでは、ビューファイルも自動生成され楽なのですが、テンプレートがすべて英語記述になっています。

これを、最初から日本語表記でscaffoldしたい。
この場合、開発しているアプリのフォルダではなく、Rails本体(gemの中に入っている)のテンプレートのファイルをいじります。
パスは以下の通り。

ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/generators/components/scaffold/templates

結構深いそうにありますが、ここに以下のファイルがあり、これらがscaffoldが行われる際のテンプレートの源となっています。

view_index.html.erb
view_show.html.erb
view_edit.html.erb
view_new.html.erb
layout.html.erb

これらのファイルをバックアップし(view_index.html.erb.bak など)、英語表記の部分を日本語に直す。
たとえば、view_index.html.erbには、以下のような部分があります。

    <td><%%= link_to 'Show', <%= singular_name %> %></td>
    <td><%%= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>) %></td>
    <td><%%= link_to 'Destroy', <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete %></td>

この部分に書かれている英語表記を、以下のように日本語表記に直します。

    <td><%%= link_to '詳細', <%= singular_name %> %></td>
    <td><%%= link_to '編集', edit_<%= singular_name %>_path(<%= singular_name %>) %></td>
    <td><%%= link_to '削除', <%= singular_name %>, :confirm => '本当に削除しますか?', :method => :delete %></td>

そして、「UTF-8」で保存します。
他のビュー用のテンプレートファイルも同様に、英語部分も日本語になおしていけば、scaffoldを行った後のviewフォルダのファイルが、最初から日本語表示となります。

スポンサーリンク
 
スポンサーリンク