我有2款TourHdr和TourDetail。 TourDetail属于tour_hdr和TourHdr has_many tour_details。 TourHdr还有一个名为status的属性。
我想在TourDetail中定义一个方法,它将为我提供所有TourDetails,其中相关的TourHdr记录中的状态字段=实时。
我尝试了以下内容:
def self.status(status)
where(:tour_hdr.status == status)
end
此处的状态可以是“实时”或“已取消”。
Rails抱怨类TourDetail没有tour_hdr方法。这里的语法是什么?
如果我在控制台中:
td = TourDetail.first
puts td.tour_hdr.status
工作正常。我猜这是因为td是TourDetail的“实例”,而不是类。
答案 0 :(得分:1)
joins(:tour_hdr).where(:tour_hdrs => {:status => status})