から派生する Ruby クラスをその場で、つまり動的に作成する必要がありますActiveRecord::Base
。私eval
は当分の間使用します:
eval %Q{
class ::#{klass} < ActiveRecord::Base
self.table_name = "#{table_name}"
end
}
を使用せずにこれを行う同等の、少なくとも同等に簡潔な方法はありeval
ますか?
から派生する Ruby クラスをその場で、つまり動的に作成する必要がありますActiveRecord::Base
。私eval
は当分の間使用します:
eval %Q{
class ::#{klass} < ActiveRecord::Base
self.table_name = "#{table_name}"
end
}
を使用せずにこれを行う同等の、少なくとも同等に簡潔な方法はありeval
ますか?
クラスがインスタンスであるClassクラスを使用できます。まだ混乱していますか?;)
cls = Class.new(ActiveRecord::Base) do
self.table_name = table_name
end
cls.new
もちろん、あります:)
class Foo
class << self
attr_accessor :table_name
end
end
Bar = Class.new(Foo) do
self.table_name = 'bars'
end
Bar.table_name # => "bars"