Ruby on rails 从rails中的resultset对象获取元数据

Ruby on rails 从rails中的resultset对象获取元数据,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在rails中使用一些自定义查询。 代码片段看起来像 @time_spent = TimeEntry.find(:all, :joins => "INNER JOIN sometable ON x = y", :select =>"id, subject, spent_on") 现在来获取我使用的值 @time_spent[index][:spent_on] @t

我正在rails中使用一些自定义查询。 代码片段看起来像

@time_spent = TimeEntry.find(:all,
                             :joins => "INNER JOIN sometable ON x = y",
                             :select =>"id, subject, spent_on")
现在来获取我使用的值

@time_spent[index][:spent_on]
@time_spent[index][:subject]
我想要的是用索引号代替符号。所以在运行时,我不需要知道select子句中的字段

例如,我想做一些类似的事情

@time_spent[index][1]
@time_spent[index][2]

如果我能得到resultset的元数据,我就可以使用这些信息


请发表评论?

当@time\u spend是一个对象集合时,这将获得为该集合中第一个[0]项指定的索引的属性值:

@time_spent[0].attributes.values[index]
@time_spent[1].attributes.values[4]
例如,要获取集合中第二个对象的第五个属性值:

@time_spent[0].attributes.values[index]
@time_spent[1].attributes.values[4]

要从结果集中获取字段名,请使用
attributes.keys
method

要从结果集中获取字段名,请使用attributes.keys方法