ruby-on-rails – Rails模型验证:我需要validates_inclusion_of
发布时间:2020-12-17 02:41:16 所属栏目:百科 来源:网络整理
导读:这是无效的代码 class WeekDay ActiveRecord::Base validates_inclusion_of :day,:in = %w(sunday monday tuesday wednesday thursday friday saturday),:case_sensitive = false end 目前我在数据库中的所有日子除了星期日.我试图添加“星期日”,并获得错误
这是无效的代码
class WeekDay < ActiveRecord::Base validates_inclusion_of :day,:in => %w(sunday monday tuesday wednesday thursday friday saturday),:case_sensitive => false end 目前我在数据库中的所有日子除了星期日.我试图添加“星期日”,并获得错误“不包括在列表中”. 解决方法
validates_inclusion_of没有case_sensitive参数,因此您可以创建自己的验证器(如果您使用的是Rails 3):
class DayFormatValidator < ActiveModel::EachValidator def validate_each(object,attribute,value) unless %w(sunday monday tuesday wednesday thursday friday saturday).include?(value.downcase) object.errors[attribute] << (options[:message] || "is not a proper day.") end end end 并将其保存在lib目录中: lib/day_format_validator.rb 然后在您的模型中,您可以: validates :day,:day_format => true 只需确保rails在启动时加载此lib文件,方法是将它放在config / application.rb中: config.autoload_paths += Dir["#{config.root}/lib/**/"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- React Native:真机断点调试+跨域资源加载出错问题解决
- Quick-Cocos2d-x 3.3下集成云风pbc(Windows版)转
- Oracle 12c 在生产库停止Data Guard怎么搞?
- monitoring – Dtrace脚本,返回按区域聚合的%CPU,%内存和
- c# – 如何改进这个代码:继承和IEquatable <>
- cocos2d版本api异同
- c# – 违反PRIMARY KEY约束.无法插入重复键
- 深入理解Flash Player的安全域(Security Domains)
- vue props传值失败 输出undefined的解决方法
- ruby-on-rails – Rails 3 Ajax:如何访问我的本地表单构建