idS*_*tar 11 validation activerecord ruby-on-rails-3.2
我有一个模型,我想将字段的输入限制为nil或落在指定的值数组中.我可以让包含部分工作,但这allow_nil: true似乎不适合我:
class Mock::Patient < ActiveRecord::Base
LANGUAGE_OPTIONS = %w[English Spanish French German Chinese Hindi Punjabi]
validates :preferred_language, inclusion: { in: LANGUAGE_OPTIONS }
end
Run Code Online (Sandbox Code Playgroud)
我已经尝试将最后一行修改为:
validates :preferred_language, inclusion: { in: LANGUAGE_OPTIONS }, allow_nil: true
Run Code Online (Sandbox Code Playgroud)
但无济于事.表达简单包含或nil组合的最简单方法是什么?
Luc*_*caM 11
允许nil进行验证的正确形式,同时仍然允许有限的数组值如下:
validates :preferred_language, inclusion: { in: LANGUAGE_OPTIONS, allow_nil: true }
Run Code Online (Sandbox Code Playgroud)
注意allow_nil选项是如何内列入选项哈希
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |