在我的Rails 2应用程序中,方法将从find
操作接收任意结果集,其中只返回潜在列的子集。
如何仅从结果对象中确定在查询查询中选择了哪些列?
columns
无效,因为它会返回表格中的所有列...
答案 0 :(得分:2)
您可以通过对结果集中的任何对象使用attribute_names
方法来确定这些。
collection = Model.all(:select=>['col1', 'col2'])
collection.first.attribute_names
#=> ['col1', 'col2']
collection.first.atttributes
#=> {'col1' => "FOO", 'col2'=> 'BAR'}