1

有没有办法只使用 Rails 模型进行验证而不与数据库交互?

我会使用控制台生成模型并将其与 Active Record 验证一起使用吗?

我正在尝试使用它来验证 CSV 导入、使用模型验证、处理然后以另一种 CSV 格式输出。

这是在没有数据库交互的情况下完成的,但我认为为了验证,使用 Model 将是一种不易出错的好方法。

4

2 回答 2

4

查看ActiveModel

例如,专门用于验证(取自上述文档)

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
于 2013-09-30T06:57:03.307 回答
0

是的,你可以这样做,假设你有一个 Person 类,你可以这样做:

class Person

  attr_accessor :name, :age

  include ActiveRecord::Validations
  include ActiveModel::Validations

  validates_presence_of :name
end
于 2013-09-30T06:58:24.987 回答