Rails 4将未知字段导入序列化哈希

时间:2016-04-14 16:28:37

标签: ruby-on-rails-4 import

我有一个由几个字段组成的模型,即(Name,Description)和一个属性列,它是自定义属性的序列化哈希。

我正在尝试编写一个导入脚本来处理将CSV / XLS文件导入到此模型的数据库中,并且正在努力捕获所有未知数据库字段,并将其标题序列化为属性列中的哈希值。

即使用下表。

姓名|说明| Field1 |字段2

Row1 |这是| Row1F1 | Row1F2

Row2 |这是| Row2F1 | Row2F2

我希望它以

的形式导入数据库

Testmodel.create(:name => Row1,:description =>"这是",:properties => {:field1 =>" Row1F1",: field2 =>" Row1F2"})

我用于其他简单表格的当前SIMPLE导入如下。我正在使用Roo

 def self.import(file)
  spreadsheet = open_spreadsheet(file)
  header = spreadsheet.row(1)
  (2..spreadsheet.last_row).each do |i|
    row = Hash[[header, spreadsheet.row(i)].transpose]
    chemuse = find_by_id(row["id"]) || new
    chemuse.attributes = row.to_hash
    chemuse.save!
  end
end

我的目标是导入捕获未知的列名,然后我将它们放入哈希并将它们添加到:properties列。

1 个答案:

答案 0 :(得分:0)

所以我发现以下代码有效,但它看起来效率不高但想把它作为答案发布。

var options = document.getElementsByClassName("aa")[0].options,
	name ="Jawor";

for(i = 0; i < options.length; i++){
   if(options[i].text.indexOf(name) > -1){
    	options[i].selected = true;
        break;
    }
}