我的视频模型中有这种方法:
def assign_topics
if @topic_names
self.topics = @topic_names.map do |name|
Topic.find_or_create_by_name(name)
end
end
end
以topic_names
作为虚拟属性。这样做,每当我添加一个新主题时,它似乎用新的主题替换旧主题。我不希望这种情况发生。我希望它添加一个新主题。我怎么能这样做?
请注意,这与我的关联不一样。我通过关联正确实现了has_many。
答案 0 :(得分:1)
没关系,我想通了:
def assign_topics
if @topic_names
self.topics << @topic_names.map do |name|
Topic.find_or_create_by_name(name)
end
end
end