是否有一些Ruby on Rails方法将模型对象转换为HASH结构?

mlz*_*boy 12 ruby-on-rails ruby-on-rails-3

我有一个模型用户

u=User.find(1)
Run Code Online (Sandbox Code Playgroud)

如何将u实例转换为哈希?有没有一些内置的方法来做到这一点?

Mir*_*rko 15

答案在这里:SO:Rails对象哈希(使用.attributes方法)

我需要这个用于rspecing更新方法,因为你必须给它一个哈希作为参数.


Gag*_*gan 8

您可以使用as_json来实现您想要的效果.

@object = User.find(1)

@object.as_json
Run Code Online (Sandbox Code Playgroud)

as_json具有根据模型关系配置复杂对象的非常灵活的方式

我们也可以排除这样的列

@object.as_json({except: [:created_at, :updated_at]})
Run Code Online (Sandbox Code Playgroud)

as_json的官方文档