2012-07-13 84 views
0

在我的電腦上Rails代碼,我正在寫一個純粹的SQL查詢(我愛SQL),然後用分析的結果:每個(:如=>:哈希)工作在本地主機,但不是在Heroku

friends.each(:as => :hash) do |row| 

這一切工作正常,但是當我試圖把它推到Heroku的,我得到以下錯誤:

ArgumentError (wrong number of arguments(1 for 0)): 

而且它抱怨每次循環。爲什麼會發生這種情況,Heroku是否有點落後,就像使用老版本的Ruby一樣,你無法做到這一點?還是MySQL與PostGreSQL(我在我的電腦上使用MySQL)呢?

+1

'#each'方法不帶任何參數。如果在本地工作,必須發生一些有趣的事情 – 2012-07-13 12:14:26

+0

'Mysql2 :: Result#each'需要參數(參見[README](https://github.com/brianmario/mysql2#cascading-config)),但我不是確定PostgreSQL適配器返回的結果。在開發和生產中使用相同的數據庫要好得多,特別是如果你自己編寫大量的SQL並且不依賴'ActiveRecord'提供的方法。 – 2012-07-13 12:25:58

+0

所以當我得到'ActiveRecord :: Base.connection.execute'返回的結果時,解析它的最好方法是什麼?我如何在Heroku上使用MySQL?或者在我的電腦上使用PostGre會更容易些? – 2012-07-13 12:26:45

回答

-2

您可以使用其它相關的語法像

的ActiveRecord :: Base.connection.select_rows( 「SELECT * FROM朋友」)將返回結果爲數組的數組。

的ActiveRecord :: Base.connection.select_values(「選擇從朋友*」)將返回數組的所有所選擇的記錄的第一列的值。

相關問題