TourHdrとTourDetailの2つのモデルがあります。TourDetailはtour_hdrに属し、TourHdrhas_manytour_detailsです。TourHdrには、statusという属性もあります。
関連するTourHdrレコードのステータスフィールドがLiveであるすべてのTourDetailsを取得するメソッドをTourDetailで定義したいと思います。
私は次のことを試しました:
def self.status(status)
where(:tour_hdr.status == status)
end
ここでのステータスは、「ライブ」または「キャンセル」になります。
Railsは、ClassTourDetailのtour_hdrメソッドがないと文句を言います。ここでの正しい構文は何ですか?
私がそうする場合、コンソールで:
td = TourDetail.first
puts td.tour_hdr.status
正常に動作します。これは、tdがクラスではなくTourDetailの「インスタンス」であるためだと思います。