私はもともとacts_as_treeについてこの質問をしましたが、より一般的であるように思われるので、ここで少し言い換えています。act_as_tree を使用したモデル「カテゴリ」があります。さまざまなクエリのために他のモデルと結合する必要があることがよくありますが、子、祖先、兄弟、子孫などの提供されたスコープを使用して必要な条件を作成する方法がわかりません。
具体例:
class Category < ActiveRecord::Base
acts_as_tree
has_many :photo
end
class Photo
belongs_to :category
end
cat = Category.first
cat の子供のすべての写真またはその兄弟のすべての写真を照会するにはどうすればよいですか? 次のようなものが必要なようです:
Photo.joins(cat.children)
Photo.joins(cat.siblings)
私が知っているのは有効なコードではありません。