« そういえば新版Core i5が出ていますね。 | トップページ | うーん、ケースがアレ気だ…。 »

Ruby on Railsのテーブル名とモデル名(モデルクラス名)を相互に変換。

Rails環境外でやりたいとき(や、挙動確認したかったので):

  • active_supportをrequire。具体的には、ライブラリの位置をgemから探し出してruby -Iに指定、その後require。
  • テーブル名→クラス名は、"table_name".classify。
    さらに、ここからインスタンスまで作りたいときは、model_obj = eval( "table_name".classify" ).new。
  • クラス名→テーブル名は、"class_name".tableize。
    たぶん、たいていはmodel_obj.class.name.tableize、とやることになりそう。
  • 詳細はActiveSupport::Inflectorのドキュメントを参照。ほかにも色々。

|

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28934/47243568

この記事へのトラックバック一覧です: Ruby on Railsのテーブル名とモデル名(モデルクラス名)を相互に変換。:

コメント

コメントを書く