我正在创建一个宝石,必须使用表格中属性的任何可能组合 - 我使用它的具体情况是反馈,所以我们将在这个例子:
给出以下项目:
Feedback {
:id => 1,
:comments => "Works well",
:recommendations => "Change this one thing"
}
我必须将数据提取为{id: 1, comments: "Works Well", recommendations: "Change this one thing"}
,如果我知道我处理的特定字段是没有脑子的话。不幸的是,我需要这个与反馈表上的任何排列或字段集合很好地匹配。
所以我的问题是:Rails或ActiveRecord是否有一个方法可以让我简单地抓取所有字段和哈希中的相关数据/有没有办法迭代数据库中项目的值使用ActiveRecord。我尝试使用to_params方法将项目转换为Hash,以及其他用于获取键/值对中的键和值的典型技巧,但无济于事。
谢谢!
答案 0 :(得分:2)
使用attributes方法。
与Feedback.first.attributes
一样,你就完成了。
答案 1 :(得分:2)
您可以在任何active_record模型上使用columns_hash
类方法。
Feedback.columns_hash
或者如果您只需要列的名称,请使用column_names
Feedback.column_names
您可以使用content_columns
仅获取包含数据的列,因此任何以_id,_count结尾的列都将从集合中删除。
Feedback.content_columns