我想我可能是在做梦,但我想我在某处读到可以在保存对象之前验证对象属性的类型?某物
喜欢validates :transaction_date, :type => Date
这将确保它是一个约会?
这在 Rails 3.2 中可能吗?我正试图在网上找到这方面的证据。我已经在这里看过了导轨API http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates我正在经历ActiveRecord 支持 http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#method-i-column.
作为对其他答案的补充,请注意,您可以定义一个自定义验证器,以便您准确使用您建议的语法:
validates :transaction_date, :type => Date
如下:
class TypeValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
record.errors.add attribute, (options[:message] || "is not of class #{options[:with]}") unless
value.class == options[:with]
end
end
当然,如果您想允许子类,您可以更改测试以使用kind_of?
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)