2012-09-27 61 views
0

爲什麼我的應用程序返回@users = User.where(acceptance: true)#<User:0x007f9b0d444328>如何返回數據庫對象作爲散列

當控制檯返回相同的查詢作爲

[#<User id: 1, acceptance: "t", created_at: "2012-09-27 13:01:50", updated_at: "2012-09-27 13:02:52">]

我希望用戶作爲哈希傳遞到這樣的事情:

respond_to do |format| 
    format.html 
    format.csv { render text: @users.to_csv } 
end 
+1

我相信控制檯會自動檢查您的物體並進行打印。但不知道。在您的應用程序中,您必須手動執行'puts @ users.inspect'。 – MurifoX

+0

好吧,是的,沒錯。我已經擴大了這個問題,因爲它沒有真正問我想要的。 – Jamie

回答

2
@user.attributes 
@users.map { |user| user.attributes } 

這是一個數據庫中字段的紅寶石散列。然後,將由您以JSON或CSV編碼。

+0

謝謝,這就是我的想法,但我得到一個錯誤,例如未定義的方法'屬性'爲#' – Jamie

+0

錯誤超出了問題的範圍。這就是問題的答案。非常感謝。 – Jamie

相關問題