所以我在这个问题/问题上拉扯我的头发。基本上我使用 find_by_sql 从我的数据库中获取数据。我这样做是因为查询有很多列和表连接,我认为使用 ActiveRecord 和关联会减慢它的速度。
我设法提取数据,现在我想修改返回值。例如,我通过循环遍历结果来做到这一点。
a = Project.find_by_sql("SELECT mycolumn, mycolumn2 FROM my_table").each do |project|
project['mycolumn'] = project['mycolumn'].split('_').first
end
我发现project['mycolumn']
根本没有改变。
所以我的问题:
是否find_by_sql
返回数组哈希?是否可以如上所述修改哈希的属性之一的值?
这是代码: http: //pastie.org/4213454 。如果你可以看看summarize_roles2()
那是行动发生的地方。
谢谢你。我使用 Rails 2.1.1 和 Ruby 1.8。由于遗留代码,我无法真正升级。