Rails:使用数组作为范围的唯一性验证

时间:2013-08-03 04:36:03

标签: ruby-on-rails ruby-on-rails-3 validation scope rails-models

我正在做一个tags模型,其中一个属性是标记的title。目标是可以通过一组预定义的主题标记文章:

TOPICS = ['Politics', 'Art', 'Sports', 'Tech', 'Business', 'Science']

我想创建唯一性验证,以便每当为文章分配标记时,其title必须是TOPICS中的任何元素。我可以通过以下方式做到这一点吗?

class Tag < ActiveRecord::Base
  validates :title, :uniqueness => { :scope => TOPICS }
end

如果没有,我如何设置TOPICS作为title的范围?提前谢谢!

1 个答案:

答案 0 :(得分:1)

validates :title, inclusion: TOPICS

validates_inclusion_of :title, in: TOPICS