Rails中的简单CSV导入功能采用'表格'将名称作为变量?

时间:2015-11-05 08:10:43

标签: ruby-on-rails csv

我正在创建一个包含许多不同类型对象的应用程序,我想让用户上传到其中任何一个。有很多在线指南可以在1个特定模型中创建导入功能,但我不想在每个模型中复制代码。有更简洁的方式吗?

例如,Product.create! row.to_hash,我怎样才能使用变量而不是硬编码'产品'?

1 个答案:

答案 0 :(得分:1)

constantize会将类名转换为实际的类对象。

# params = { table: 'products' }

klass = params[:table].classify.constantize # => Product
klass.create! row.to_hash # or whatever