我正在处理应用程序,其中相同的数据存储在不同的表中
示例
Items
Items201101
Items201102
Items201103
.....
每个月我都需要再创建一个表Items#{year}#{month}
并从项目中复制数据,然后我就这样做了
ActiveRecord::Base.connection.execute("insert into ... select from ... ");
如何动态创建此类表格的模型? 另外如果我可以这样做,那么当删除这样的表时,如何从应用程序范围中删除这些模型?
答案 0 :(得分:1)
如果模型非常相似,我建议使用eval
。请考虑以下代码:
['Bar', 'Baz'].each do |k|
eval %{
class Foo#{k}
def initialize
puts 'hello from ' + self.class.name
end
end
}
end
FooBar.new
FooBaz.new