ruby-on-rails – 如何获取ActiveRecord验证中配置的最大长度?
发布时间:2020-12-16 19:58:59 所属栏目:百科 来源:网络整理
导读:给出一个模型: class Person validates_lenght_of :name,:maximum = 50end 我有一些视图代码显示倒计时并强制执行此最大值.但是,我将50号硬编码到该视图代码中.有没有办法从模型中提取这个数字? 就像是: Person.maximum_length_of_name 我试过这个: Pers
给出一个模型:
class Person validates_lenght_of :name,:maximum => 50 end 我有一些视图代码显示倒计时并强制执行此最大值.但是,我将50号硬编码到该视图代码中.有没有办法从模型中提取这个数字? 就像是: Person.maximum_length_of_name 我试过这个: Person.validators_on(:name) => [#<ActiveRecord::Validations::UniquenessValidator:0x000001067a9840 @attributes=[:name],@options={:case_sensitive=>true},@klass=Trigger(id: integer,name: string,created_at: datetime,updated_at: datetime,user_id: integer,slug: string,last_update_by: integer)>,#<ActiveModel::Validations::PresenceValidator:0x000001067a6c30 @attributes=[:name],@options={}>,#<ActiveModel::Validations::LengthValidator:0x000001067a3f08 @attributes=[:name],@options={:tokenizer=>#<Proc:0x00000101343f08@/Users/sjors/.rvm/gems/ruby-1.9.2-p0/gems/activemodel-3.0.6/lib/active_model/validations/length.rb:9 (lambda)>,:maximum=>50}>] 信息在那里,但我不知道如何提取它: 解决方法
使用
validators_on方法
irb(main):028:0> p Person.validators_on(:name)[0].options[:maximum] 50 => 50 正如@Max Williams所说,它只适用于Rails 3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Sqlite3 数据库介绍及常用方法的简单封装
- c – 覆盖私有函数,它与受保护的有什么不同?
- react-native – 如何使设备令牌以本机方式响应
- cocos2d-x 进度条
- c# – 将文件上载到Azure Blob时的ASP.NET核心内存消耗
- Working tutorial to install AIR native extensions in Fl
- c# – Compact Framework 2.0上的控制反转
- c – 不明白这个for循环是如何工作的
- react-native – 在StackNavigator中使用TabsNavigator
- 组件设计实战--组件之间的关系 (Event、依赖倒置、Bridg