如何确定ActiveRecord查找操作返回的列

时间:2012-01-05 04:09:35

标签: ruby-on-rails activerecord

在我的Rails 2应用程序中,方法将从find操作接收任意结果集,其中只返回潜在列的子集。

如何仅从结果对象中确定在查询查询中选择了哪些列?

columns无效,因为它会返回表格中的所有列...

1 个答案:

答案 0 :(得分:2)

您可以通过对结果集中的任何对象使用attribute_names方法来确定这些。

collection = Model.all(:select=>['col1', 'col2'])

collection.first.attribute_names
#=> ['col1', 'col2']

collection.first.atttributes
#=> {'col1' => "FOO", 'col2'=> 'BAR'}