Automatically set child.parent_id when parent.children<< child?
How to do that with ActiveRecord? My code:
开发者_运维百科p = Product.create
l = Label.create
p.labels.add << l
But I get l.parent == nil
create_table "labels", :force => true do |t|
t.integer "product_id"
end
Some code from you would be appropriate, since what you're asking should be working automatically.
class Parent < ActiveRecord::Base
has_many :children
end
class Child < ActiveRecord::Base
belongs_to :parent
end
If your code doesn't resemble that, then please post a more specific question.
Edit:
Does your Product
model have any validations in it? They aren't going to pass your code above, and you aren't checking the return value from create
, so you'll never know.
You could use acts_as_tree
for this: http://github.com/rails/acts_as_tree
精彩评论