我有以下型號:ActiveRecord的關係:追加的ActiveRecord ::關係客體中的對象
#models/location.rb
class Location < ActiveRecord::Base
scope :partner_locations, ->{where(partner: true)}
scope :education_locations, ->{where(education: true)}
end
然後,我有以下代碼:
locations = Location.none
if true
#append onto that locations activerecord::relation object those locations that are partner locations
locations << Location.partner_locations
end
if true
#append onto that locations activerecord::relation object those locations that are education locations
locations << Location.education_locations
end
return locations
我認爲這個代碼將返回一個activerecord :: relation對象,裏面有一些對象。相反,它只是返回:[]
,只是一個空的Location :: ActiveRecord_Relation對象。
如何將記錄附加到此Location :: ActiveRecord_Relation對象?
我做了一些研究,我看到一些人建議使用merge
,但我不認爲這是我想要的。我沒有做任何過濾。我只想追加位於該Location :: ActiveRecord_Relation對象內的Location
對象,以便我可以使用其他方法,例如:locations.order(:name)
。
可將一個調試器或綁定,並驗證位置的輸出是什麼.partner_locations和Location.education_locations?你也可以發佈剩餘的代碼(如父方法)的位置= Location.none 如果屬實..... –
['.none'](http://api.rubyonrails.org/classes/ActiveRecord /QueryMethods.html#method-i-none)似乎確保不會返回任何內容。您可能會使用不同的基本範圍,並且只有在沒有其他條件匹配的情況下才會附加none。 –