假设模型'名称为User, Order, Item
怎么做
循环中动态地 User.create, Order.create, Item.create
?
实施例
["User", "Order", "Item"].each do |MODEL|
MODEL.create
end
答案 0 :(得分:3)
您也可以使用constantize
["User", "Order", "Item"].each do |model|
model.classify.constantize.create(.......)
end
Object.const_get
是ruby方法,答案来自八月
嗯,constantize
是方法。
答案 1 :(得分:1)
使用Object.const_get
(documentation):
["User", "Order", "Item"].each do |model|
Object.const_get(model).create
end
答案 2 :(得分:0)
而不是使用字符串数组,为什么不直接使用类呢?
[User, Order, Item].each do |klass|
klass.create
end