0
我在Rails中的模型之間查詢時遇到了一些麻煩。我有一個Message
,belongs_to: booking
。我的目標是將active
範圍添加到Message
,這取決於Booking
範圍。Rails中的模型之間的鏈式範圍
class Booking < ActiveRecord::Base
has_one :event
has_many :messages
def self.active
includes(:event).
where('events.endtime >= ? AND status IS NOT ?'
Time.current.beginning_of_week,
statuses['canceled'])
end
end
class Message < ActiveRecord::Base
belongs_to :booking
belongs_to :person
self.active(person_id)
where(person_id: person_id).merge(Booking.active)
end
end
我想找到Message
小號針對特定Person
在相關Booking
爲active
。因此,我在創建Message.active
時希望使用Booking.active
。
與上述實施調用Message.active(1)
返回以下錯誤:
Association named 'event' was not found on Message; perhaps you misspelled it?
有什麼辦法,我可以在Message.active
和實現中使用Booking.active
得到Message
小號回來了?