2010年05月26日
rails テーブル名を複数系にする機能。
rails では、generate で table を作成する時、
テーブル名の単数系で指定すると複数系にしたテーブル名でテーブルを作成してくれる。
単純に最後に "s" を付けてるのかなと思って、単純にいかないケースでやってみた。
"company" の複数形は、"companies" である。
generate してみた。
migration ファイルを見ると "companies" になっている。
このまま、rake すれば複数形のテーブル名で作成されますね。
おりこうさんですね。
同じ事を "hogehoge" でやってみると "hogehoges" となった。
さらに "hogyhogy" でやってみると "hogyhogies" となった。
綴りの語尾数文字を見て判断してるんでしょうかね。
たまに意図しない変換になるかもしれませんので注意は、しておいた方が良さそうですね。
テーブル名の単数系で指定すると複数系にしたテーブル名でテーブルを作成してくれる。
単純に最後に "s" を付けてるのかなと思って、単純にいかないケースでやってみた。
"company" の複数形は、"companies" である。
generate してみた。
ruby script/generate scaffold company company_code:string company_name:string
migration ファイルを見ると "companies" になっている。
class CreateCompanies < ActiveRecord::Migration
def self.up
create_table :companies do |t|
t.string :company_code
t.string :company_name
t.timestamps
end
end
def self.down
drop_table :companies
end
end
def self.up
create_table :companies do |t|
t.string :company_code
t.string :company_name
t.timestamps
end
end
def self.down
drop_table :companies
end
end
このまま、rake すれば複数形のテーブル名で作成されますね。
おりこうさんですね。
同じ事を "hogehoge" でやってみると "hogehoges" となった。
さらに "hogyhogy" でやってみると "hogyhogies" となった。
綴りの語尾数文字を見て判断してるんでしょうかね。
たまに意図しない変換になるかもしれませんので注意は、しておいた方が良さそうですね。
【Railsの最新記事】