删除哈希结果中的column_names

时间:2015-05-05 16:18:26

标签: ruby-on-rails ruby hash

我希望在迭代tablename.attributes时删除id和abc_id,created_At和updated_at。这是我能想到的解决方案。我可以使用的任何其他最佳修复。感谢

chash = tablename.attributes // outputs hash of key and value
list = ["A", "B", "created_at", "updated_at"]
list.each do |l|
   chash = chash.tap {|c| c.delete(l)}
 end

2 个答案:

答案 0 :(得分:1)

您可以使用delete_if方法。

chash.delete_if {|k,_| list.include? k}

reject方法

chash.reject {|k,_| list.include? k}

select方法

chash.select {|k,_| !list.include? k}

答案 1 :(得分:1)

在Rails中,您可以使用except方法:

chash.except!(*list)