在Rails中过滤字符串

时间:2016-02-17 16:53:46

标签: ruby-on-rails

我有这个方法将标签添加到db。

def all_tags=(names)
  self.tags = names.split(",").map do |name|
    Tag.where(name: name.strip).first_or_create!
  end
end

它需要一个字符串并将其删除到有逗号的位置并在db中添加每个字符串。 问题是用户可以添加“红色,蓝色,红色”的重复标签。

如何检查用户是否无法添加具有相同名称的标签或删除副本。

1 个答案:

答案 0 :(得分:1)

在标记模型中使用唯一性验证程序。

class Tag < ActiveRecord::Base
  validates :tag, uniqueness: true
end

http://guides.rubyonrails.org/active_record_validations.html#uniqueness