2011-01-27

Railsでクラス名を記述したテキストからオブジェクトを生成する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Railsでは、Stringクラスとかも拡張されているようです。

例えば、クラス名を記述したテキストからオブジェクトを生成する
constantize
とかです。

使い方的には、以下のような感じです。
>> aaa = "User"
=> "User"
>> ccc = aaa.constantize.new
=> #<User id: nil, name: nil, created_at: nil, updated_at: nil>
こんな感じでcccにUserクラスをnewしたオブジェクトが格納できます。

利用するクラスが違うだけで、似たような処理をしている部分があり、
なんかクラス名をいい感じに扱えないかなぁとか思っていたところ、constantizeが見つかった次第です。


コメントを投稿