これが皆さんにとって興味深いものです...
「Dogs」と「Trips」の間にHABTM(has_and_belongs_to_many)の関係があります。私の目標は、2つの結果セットを見つけることです。1)過去3回の旅行の少なくとも1回に参加した犬を@dogs_currentと呼びます。2)過去3回の旅行のいずれにも参加していない犬を@dogs_oldと呼びます。
旅行モデルでこれを行うことにより、最後の3つの旅行が何であるかを見つけることができることがわかりました。
named_scope :last3, :order => 'date DESC', :limit => 3
しかし、そのリストの使用方法がわからない場合は、1と2を取得します。このハックは機能しますが、見苦しいようです。より良い方法があるに違いありません!:)
@dogs_current = []
@dogs_old = []
@dogs.each do |dog|
if (Trip.last3 - dog.trips).size < 3 then
@dogs_current << dog
else
@dogs_old << dog
end
end
何か案は?ありがとう!-カム