2011-03-31 69 views
1

我在視頻模式這種方法:此方法僅添加一個標籤,但我需要多個標籤!

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。

回答

1

沒關係,我想通了:

def assign_topics 
    if @topic_names 
    self.topics << @topic_names.map do |name| 
     Topic.find_or_create_by_name(name) 
    end 
    end 
end