繁体   English   中英

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

[英]Use Rails model without database interaction

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

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

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

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

查看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

是的,你可以这样做,让我们假设你有一个Person类,而不是你可以这样做:

class Person

  attr_accessor :name, :age

  include ActiveRecord::Validations
  include ActiveModel::Validations

  validates_presence_of :name
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM