我有两种形式的Rails模型:
class User < ActiveRecord::Base
has_many_and_belongs_to :tags
end
class Tag < ActiveRecord::Base
has_many_and_belongs_to :users
end
我有一个创建tags_users表的迁移。
如何将记录添加到tags_users表中? (标签和用户是唯一的)
我正在尝试做
users.tag_ids << new_tag
但这似乎不起作用。欢迎提出任何指示
答案 0 :(得分:1)
有多种方法可以实现这一目标,例如:
u = User.first
t = Tag.create(name: 't')
u.tag_ids << t.id
# or:
u = User.first
t = Tag.new(name: 't')
u.tags << t
您无法在集合上调用collection_singular_ids
(在这种情况下为tag_ids
)。值得注意的是,拥有HABTM关联,您无法明确访问连接模型(例如TagUser
)。