验证 has_and_belongs_to_many 中的至少一个 [英] validate at least one in has_and_belongs_to_many
本文介绍了验证 has_and_belongs_to_many 中的至少一个的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个模型:
has_and_belongs_to_many :users
如何验证模型中至少有一个用户?我试过了:
How do I validate that the model has at least one user in the model? I tried:
validates_presence_of :users
但这似乎并没有给我想要的...
But that doesn't seem to give me what I want...
推荐答案
我会编写自定义验证:
validate :has_users?
def has_users?
# rails 2:
errors.add_to_base "Model must have some users." if self.users.blank?
end
那正是这样做的.
注意在 rails 3+ 中你必须使用:
Note in rails 3+ you have to use:
# rails 3+
errors.add :base, "Model must have some users." if self.users.blank?
在 rails 4+ 中有一个内置的快捷方式,所以你可以简单地做:
In rails 4+ there's a built-in shortcut, so you can simply do:
validates :users, presence: true
这篇关于验证 has_and_belongs_to_many 中的至少一个的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文