ruby 对象转换哈希(Hash)

时间:2024-01-15 08:28:38

通过 ActiveRecord 从数据库的某张数据表(table)中获取的对象如何转换成为 Hash

orders_table 是一张订单信息表,对应的 model 为 Orders

@order = Orders.first

最简单的方法,获取一条 orders 表中的一条数据。

方法一:

使用原生的 dup 方法:产生一个浅拷贝的只是模型属性的哈希对象

order_one = @order.attributes.dup

检查生成的对象的类型

>> order_one.class
Hash

方法二:

自定义一个方法(仅供参考):

def record_to_hash(record_info)
record_hash = {}
record_info.attributes.each { |k,v| record_hash[k] = v }
return record_hash
end