2012-04-23 10 views
1

文字列の配列["User","Article","Image"]を想像すると、クラス宣言を現在のスコープに評価する最良の方法は何ですか?私は次のようなものを想像しています:複数のActiveRecordモデルをメイン名前空間に宣言/評価する適切な方法は?

array.each do |element| 
    instance_eval<<EOF 
    class #{element} < ActiveRecord::Base 
    end 
EOF 
end 

これは正しい方法ですか?これについて

+0

どのオプションを使用しましたか? –

答えて

1

どのように?

array.each do |element| 
    Object.const_set(element, Class.new(ActiveRecord::Base)) 
end 
+0

申し訳ありませんが、私は賞金通知を逃して、それを賞賛することができませんでした。私は新しい賞金を始めました。約23時間後に私はそれをあなたに授与します。 – Geo

+0

ああ、私はあなたが戻ってそれを行うことを期待していなかった!私はちょうどその答えが役立っていることを確認したかったのです - 思い通りに説明すると、説明に欠けています。 –

3

かについて

%w(User Article Image).each do |klass| 
    create_class(klass, ActiveRecord::Base) do 
    # ...whatever 
    end 
end 
+0

うーん、 'create_class'って何?グローバルスコープでは利用できないようです。 –

+0

私は彼がhttp://snippets.dzone.com/posts/show/2390 – Geo

+0

を参照している可能性があると思います。参照されていないコードを使用するのは彼にとってはうれしいことではありません。 –

関連する問題