ウイザードに大切なこと 本文へジャンプ
Ruby on RailsをEclipseでいこう その6 〜規約外テーブルへのscaffoldの巻〜
これはイタズラです。Railsの思想に逆らうとどうなるか試してみました。

複数形テーブル名規約をはずして、scaffoldしてみます。

DBテーブルは以下のものを準備します。
CREATE TABLE `ruby`.`item` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`url` VARCHAR(255) NOT NULL,
`title` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = MyISAM;

先ずは、/config/environment.rbの末尾に以下の行を追加します。
(# Include your application configuration below の下)
ActiveRecord::Base.pluralize_table_names = false




さらにさらにEclipseの右下にあるRailsビューの「ジェネレータ」タブを開きます。

上の画像のように「scaffold」を選択して、「Item Item」と入力して実行ボタンをクリックします。
※Usage : scaffold テーブル名 [コントローラ名]
テーブル名内に大文字があると、自動的にアンダースコア("_")が挿入されてしまうので注意です。
→ "SampleTable" は "sample_table"として扱われる。
いつものようにWEBrickで確認しましょう(http://localhost:3000/item)←実際は全部半角小文字

これで、規約外(テーブル名が複数形でない)のDBテーブルに対するCRUDアプリが自動生成できます。