【发布时间】:2010-07-27 09:58:29
【问题描述】:
我希望在 Rails 中保存/更新模型时能够用警告替换字段错误。基本上,我只想围绕会生成错误的验证方法编写一个包装器,保存模型并可能在警告散列中可用(其工作方式与错误散列类似):
class Person < ActiveRecord::Base
# normal validation
validates_presence_of :name
# validation with warning
validates_numericality_of :age,
:only_integer => true,
:warning => true # <-- only warn
end
>>> p = Person.new(:name => 'john', :age => 2.2)
>>> p.save
=> true # <-- able to save to db
>>> p.warnings.map { |field, message| "#{field} - #{message}" }
["age - is not a number"] # <-- have access to warning content
知道如何实现吗?我能够将:warning => false 默认值添加到ActiveRecord::Validations::ClassMethods::DEFAULT_VALIDATION_OPTIONS
通过扩展模块,但我正在寻找有关如何实现其余部分的一些见解。谢谢。
【问题讨论】:
标签: ruby-on-rails validation activerecord extension-methods