有没有办法只使用 Rails 模型进行验证而不与数据库交互?
我会使用控制台生成模型并将其与 Active Record 验证一起使用吗?
我正在尝试使用它来验证 CSV 导入、使用模型验证、处理然后以另一种 CSV 格式输出。
这是在没有数据库交互的情况下完成的,但我认为为了验证,使用 Model 将是一种不易出错的好方法。
有没有办法只使用 Rails 模型进行验证而不与数据库交互?
我会使用控制台生成模型并将其与 Active Record 验证一起使用吗?
我正在尝试使用它来验证 CSV 导入、使用模型验证、处理然后以另一种 CSV 格式输出。
这是在没有数据库交互的情况下完成的,但我认为为了验证,使用 Model 将是一种不易出错的好方法。
例如,专门用于验证(取自上述文档)
class Person
include ActiveModel::Validations
attr_accessor :first_name, :last_name
validates_each :first_name, :last_name do |record, attr, value|
record.errors.add attr, 'starts with z.' if value.to_s[0] == ?z
end
end
person = Person.new
person.first_name = 'zoolander'
person.valid? # => false
是的,你可以这样做,假设你有一个 Person 类,你可以这样做:
class Person
attr_accessor :name, :age
include ActiveRecord::Validations
include ActiveModel::Validations
validates_presence_of :name
end