2011-07-22 79 views
3

以前我在我的應用中使用過mysql RubyGem。現在我已經切換到mysql2 RubyGem,並且我在Result類中遇到了問題。mysql gem vs mysql2 gem和'each_hash'方法

代碼例如:

db_values = ActiveRecord::Base.connection.execute(sql) 

db_values.each_hash do |db_value| 
    ret_val << MyValue.do_smth_with_data(db_value) 
end 

以前(在MySQL RubyGem)有用於通過所述數據循環each_hash方法。在mysql2 RubyGem中,Result類只有3種可能的方法(count,each,fields),其中一種方法是each方法,但這不是我需要循環獲取數據的方法。

有什麼建議嗎?

回答

7

mysql2 gem包含Enumerable模塊,所以您只需使用each而不是each_hash

1

Connection的select_all方法在這裏也很有用。它「返回一個記錄散列數組,其列名作爲鍵和列值作爲值。」