0

我有 2 个模型 TourHdr 和 TourDetail。TourDetail 属于_to tour_hdr 和 TourHdr has_many tour_details。TourHdr 还有一个叫做 status 的属性。

我想在 TourDetail 中定义一个方法,它将为我提供所有 TourDetails,其中关联的 TourHdr 记录中的状态字段 = Live。

我尝试了以下方法:

def self.status(status)
  where(:tour_hdr.status == status)
end

此处的状态可以是“实时”或“已取消”。

Rails 抱怨说 TourDetail 类没有 tour_hdr 方法。这里的正确语法是什么?

如果我这样做,在控制台中:

td = TourDetail.first
puts td.tour_hdr.status

它工作正常。我猜这是因为 td 是 TourDetail 的“实例”而不是类。

4

1 回答 1

1
joins(:tour_hdr).where(:tour_hdrs => {:status => status})
于 2012-04-04T17:15:20.153 回答