验证 has_and_belongs_to_many 中的至少一个 [英] validate at least one in has_and_belongs_to_many

查看:13
本文介绍了验证 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆