首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MongoID validates_inclusion_of

如何使用MongoID validates_inclusion_of
EN

Stack Overflow用户
提问于 2011-07-10 23:08:29
回答 1查看 1.2K关注 0票数 0

我有一个模型,它有一个字段,可以包含一个值列表。我希望该列表仅限于一个子集。我想使用validates_inclusion_of,但可能误解了这种验证。

代码语言:javascript
复制
class Profile
  include Mongoid::Document
  field :foo,   :type => Array

  validates_inclusion_of :foo, in: %w[foo bar]
end

p = Profile.new
p.valid?   #=> false; this is correct, as it should fail on empty lists.
p.foo = ["bar"]
p.valid?   #=> false; this is incorrect. I would expect it to pass now.
p.errors   #=> {:foo=>["is not included in the list"]}

我做错了什么?validates_inclusion_of可以用于数组吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-11 14:58:29

您的字段值是数组(field :foo, :type => Array)验证要求字段不是数组,以检查其是否包含。根据您的示例,验证是检查'foo',‘bar’。.include?(‘bar’)# => false

因此,请更正validates_inclusion_of中的:in选项:

代码语言:javascript
复制
validates_inclusion_of :foo, in: [['foo'], ['bar']]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6641845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档