読者です 読者をやめる 読者になる 読者になる

テーブル名を単数形にする

既存のDBを引き継ぐ場合などでテーブル名を単数形にする場合には、config/environment.rbで設定をします。
Railsレシピブックでは、Rails::Initializerブロックで設定していますが、

Rails::Initializer.run do |config|
  # ...
  config.active_record.pluralize_table_names = false  # この行を追加
  # ...
end

AWDR本や、AptanaRailsプロジェクト作成時の単数形でテーブルを作成するようにすると、以下の様に設定されます。

Rails::Initializer.run do |config|
  # ...
end
ActiveRecord::Base.pluralize_table_names = false  # この行を追加

こちらの場合、Rails::Initializerブロックの前に記述すると、"uninitialized constant ActiveRecord"というエラーになります。

二つの記述方法のどっちでも可能ですが、AWDR本によると前者は1.0までの記述方法とのこと。

また、テーブル名を単数形にしてもControllerやViewの名前は複数形のままです。上記の設定でscaffoldを作成したところ、マイグレーションのテーブル名のみ単数形になってました。よく考えたら、テーブル名を単数形にする設定なので、あたりまえなのですが。。