我有这个方法将标签添加到db。
def all_tags=(names)
self.tags = names.split(",").map do |name|
Tag.where(name: name.strip).first_or_create!
end
end
它需要一个字符串并将其删除到有逗号的位置并在db中添加每个字符串。 问题是用户可以添加“红色,蓝色,红色”的重复标签。
如何检查用户是否无法添加具有相同名称的标签或删除副本。
答案 0 :(得分:1)
在标记模型中使用唯一性验证程序。
class Tag < ActiveRecord::Base
validates :tag, uniqueness: true
end
http://guides.rubyonrails.org/active_record_validations.html#uniqueness