以下工作,正確,但似乎我可能沒有利用我應該在rails中的東西。工作位是:是否有更多的「活動記錄」正確寫這個查詢的方式?
MaxOffer.joins("JOIN items ON items.id = max_offers.item_id")
.order('amount_in_cents desc')
.where('items.id = 20')
.limit(5).collect do |moffer|
起初,我以爲我沒有明確地使用一個加入,因爲模型是:
class MaxOffer < ActiveRecord::Base
belongs_to :item
belongs_to :user
class User < ActiveRecord::Base
has_many :bids
has_many :max_offers
但是,當我試圖在簡單地使用item.id
了錯誤where子句。有沒有更正確的方法來做到這一點,或明確包括必要的連接?
總的來說,我認爲你所做的很好。我提出的改變是非常小的。 –
我沒有使用佔位符的唯一原因int他在哪裏,因爲我只是想獲得activerecord的掛件 - 但是很高興得到了一些確認,我沒有錯過某些rails魔術。 – Will