我有一種方法(的find_by_sql)內更新紅寶石對象輸出陣列內部的紅寶石對象是這樣的:軌道4/PostgreSQL的9.4 - 查詢和陣列
[#<deal id: 66480, opportunity_id: 4, admin_user_id: 1, created_at: "2015-09-20 18:37:29", updated_at: "2015-09-20 18:37:29", deal_available: true>]
如何更新的對象的'deal_available'屬性在我的數據庫中的原始postgresql?
我嘗試不同的方式來寫,但我絆倒的事實,這是非常特殊:它是一個數組,裏面有一個Ruby對象,我必須設法告訴PostgreSQL相變化deal_available值:真實deal_available:false。
在本地,我想:logger.debug「這裏是更新生成的目標:
#{@deal_question[0]}
,但我得到:
#<@deal_question:0x007fd9b3963270>
這裏是@deal_question是如何創建
@deal_question = Deal.find_by_sql(
" SELECT \"deals\".*
FROM \"deals\"
WHERE (opportunity_id = #{@deal.id}
AND deal_available = true)
ORDER BY \"deals\".\"id\" ASC LIMIT 1"
)
我甚至沒有postgresql查詢來推薦這裏,因爲首先我需要und erstand如何查詢數組內的ruby對象。
你爲什麼不使用ActiveRecord,而不是寫原始SQL的? – Caillou