Pra*_*tha 7 ruby ruby-on-rails mongoid ruby-on-rails-3
如何将任何类的对象限制为一个.我的班级看起来像:
class Speaker
include Mongoid::Document
field :name, :type => String
end
Run Code Online (Sandbox Code Playgroud)
我只是想让一个扬声器的实例.一种方法是添加验证,该验证将检查已经存在的Speaker类的对象的数量.有没有红宝石的做事方式?
在这种情况下,我会写出适当的验证:
validate :only_one
def only_one
errors.add(:base, "Only one Speaker can exist") if self.count > 0
end
Run Code Online (Sandbox Code Playgroud)