开发者

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜