创建两个模型实例之间的关系

时间:2010-05-12 03:57:20

标签: ruby-on-rails activerecord orm

这可能很简单,但在这里:

假设我有两个模型,ThingTag

class Thing < ActiveRecord::Base
    has_and_belongs_to_many :tags
end

class Tag < ActiveRecord::Base
    has_and_belongs_to_many :things
end

我有一个实例。我想链接他们。我可以这样做:

@thing = Thing.find(1)
@tag = Tag.find(1)

@thing.tags.add(@tag)

如果没有,最好的方法是什么?谢谢!

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是使用find_or_create。

tag = @thing.tags.find_or_create_by_name('tagname')