cma*_*han 23 activerecord model ruby-on-rails
我有一个模型:
has_and_belongs_to_many :users
Run Code Online (Sandbox Code Playgroud)
如何验证模型在模型中至少有一个用户?我试过了:
validates_presence_of :users
Run Code Online (Sandbox Code Playgroud)
但这似乎没有给我我想要的东西......
Jak*_*zok 34
我会写自定义验证:
validate :has_users?
def has_users?
# rails 2:
errors.add_to_base "Model must have some users." if self.users.blank?
end
Run Code Online (Sandbox Code Playgroud)
那就是那样做的.
注意在rails 3+中你必须使用:
# rails 3+
errors.add :base, "Model must have some users." if self.users.blank?
Run Code Online (Sandbox Code Playgroud)
在rails 4+中有一个内置的快捷方式,所以你可以简单地做:
validates :users, presence: true
Run Code Online (Sandbox Code Playgroud)
Jac*_*ius 29
在rails 4中你可以做到
validates :users, presence: true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9639 次 |
| 最近记录: |