Hello folks.
I'm having some trouble here, hope you can help me =D.
I have two associated models: Product and Recipe.
A Recipe is... a recipe, showing the components of a Product... which are Products too.
So, the table structure is:
Products id name unity_id (...)
Recipes id product_id (the parent_id, a product) child_id (the child_id, also a product) quantity (...)
The table recipes is a tree structure. Sometimes the user may want to retrieve the complete "recipe" of one or more products. I've tried to use acts_as_tree but I'm getting some weird behaviors, such as infinite loops depending on the tree structure. I guess it's because I don't use the "id" of the recipes table as one of the keys in the relationship. Acts_as_tree allows me to configure the parent_id column (which I've set to product_id), but it still doesn't work, I think that I need to let it know about child_id...
So, anyone knows how to make this work?
PS: here are the models code
class Recipe < ActiveRecord::Base acts_as_tree :foreign_key => 'product_id'
belongs_to :products, :class_name => "Product", :foreign_key => "product_id"
belongs_to :children, :class_name => "Product", :foreign_key => "child_id" end
class Product < ActiveRecord::Base has_many :recipes has_many :children, :through => :recipes, :foreign_key => :child_id
has_many :fathers, :through => :recipes, :foreign_key => :product_id end
Thanks in advance.