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

egg:

class Orders < ActiveRecord::Baseself.table_name = :orders_table
end 

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

参考网址:http://codego.net/258726/

ruby 对象转换哈希(Hash)相关推荐

  1. Redis 存储对象信息是用 Hash 还是 String

    Redis 内部使用一个 RedisObject 对象来表示所有的 key 和 value,RedisObject 中的 type,则是代表一个 value 对象具体是何种数据类型,它包含字符串(St ...

  2. Redis-04Redis数据结构--哈希hash

    文章目录 哈希概述 客户端操作hash Redis hash 结构命令 Spring操作reids的hash Step1 修改defaultSerializer Step2 操作hash 注意 代码 ...

  3. Redis学习---(8)Redis 哈希(Hash)

    Redis 哈希(Hash) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值 ...

  4. 【Redis】Redis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )

    文章目录 一.哈希 Hash 键值对集合 二.查询操作 1.Redis 中查询 Hash 键值对数据 2.查询 Hash 键是否存在 3.查询 Hash 中所有的键 Field 4.查询 Hash 中 ...

  5. Redis—列表(List)、集合(Set)、哈希(Hash)、有序集合 Zset

    Redis-列表List.集合Set.哈希Hash.有序集合 Zset 列表List 单键多值 常用命令 数据结构 Redis 集合(Set) 常用命令 数据结构 Redis 哈希(Hash) 常用命 ...

  6. 将Model对象转换成json文本或者json二进制文件

    将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTran ...

  7. Flex4将对象转换成json串

    使用json需要先引入as3corelib.swc 1.将对象转换成json串 var obj:Object = new Object(); obj.filename = "1.jpg&qu ...

  8. android 中XML和对象转换利器Xstream的使用

    XStream框架: 虽说pull dom dom4j等优秀的xml解析工具使用非常广泛,但对于复杂庞大的数据交互来说,使用它们无疑让你倍加痛苦,你可能大部分精力都放在无聊繁琐的解析和拼装上,如果接口 ...

  9. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

最新文章

  1. 【POJ1144】Network
  2. 微信也在用的Transformer加速推理工具 | 腾讯第100个对外开源项目
  3. 以后版本网卡命名规则
  4. python绘制三维地形_Python的地形三维可视化Matplotlib和gdal使用实例
  5. 关于STM32系统构架的一点见解
  6. 关于Crypto.PublicKey.RSA,在generate后无法被赋值问题
  7. react学习(65)--ant design加载中
  8. 【牛客 - 289K】这是一个沙雕题III(贪心,思维枚举,技巧trick,计算上下界)
  9. leetcode1033. 移动石子直到连续
  10. 为什么计算机中0.2+0.1不等于0.3!?
  11. bat小工具_字节跳动收购效率工具幕布,张一鸣的 To B 野心 | 36氪独家
  12. SSH密钥 - 仍然要求输入密码和密码
  13. css常用选择器选择器
  14. linux设置ipsan_linux 配置SAN存储-IPSAN
  15. 电脑软件故障排除2014年2月16日[修正版]
  16. micrium ucprobe使用笔记
  17. win10 休眠唤醒 电源_一劳永逸解决WIN10所有睡眠问题
  18. 关于无法完全停止windowsUpdate的解决方法
  19. 屏蔽恼人的QQ迷你首页
  20. [4G/5G/6G专题基础-157]: 无线数据承载DRB与无线信令承载SRB

热门文章

  1. Unable to read meta-data for class 快速解决启动异常
  2. 面试题:HashMap的底层运行原理(通俗易懂)
  3. Java 常见编译错误信息
  4. ABCNet的下载与训练--训练自己的数据集
  5. 基于手机app的树莓派远程监控(非常全)
  6. HTML转Canvas工具 前端生成图片工具 屏幕快照 html2canvas 下载 或上传至服务器 使用方法
  7. 今日头条 Android '秒' 级编译速度优化
  8. 3000亿美元市值的Facebook承认害怕广告屏蔽软件
  9. Cesium Entities部分要点
  10. FRM需要报培训班吗?大概需要多少钱呢?