使用Rails模型而不进行数据库交互

时间:2013-09-30 06:54:03

标签: ruby-on-rails ruby ruby-on-rails-4

有没有办法在没有与数据库交互的情况下使用Rails模型进行验证?

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

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

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

2 个答案:

答案 0 :(得分:4)

查看ActiveModel

E.g。专门用于验证(取自上述文档)

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

答案 1 :(得分:0)

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

class Person

  attr_accessor :name, :age

  include ActiveRecord::Validations
  include ActiveModel::Validations

  validates_presence_of :name
end