ruby-on-rails - 如何跨模型共享验证?

标签 ruby-on-rails ruby-on-rails-3

我在 TipoMovimiento 模型中进行了此验证:

class TipoMovimiento < ActiveRecord::Base
  before_validation :default_values

  validates :codigo, :numericality => {:greater_than => 0}
  validates :codigo, :descripcion, :sintetico, :presence => true
  validates :codigo, :descripcion, :sintetico, :uniqueness => true
  validates :descripcion, :length => {:minimum => 3}
  validates :sintetico, :length => {:minimum => 2}

private
  def default_values
    self.estado ||= true if self.estado.nil?
    self.codigo ||= TipoMovimiento.maximum(:codigo) + 1
  end
end

此外,我还有其他具有相同字段的模型,我不想对它们重复这些验证。我该怎么做?

最佳答案

我认为你应该使用custom validationsinheritance .

关于ruby-on-rails - 如何跨模型共享验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11178988/

相关文章:

ruby-on-rails - rake db:create - Mysql2::Error: 未知数据库

ruby - 在 Active Admin 中禁用 CSV 下载

ruby-on-rails - 一个引擎的*所有*规范是否预期存在于虚拟 Rails 应用程序中?

ruby-on-rails - Ruby 2.0 如何在包含模块后从模块中取消包含模块?

ruby-on-rails - 每个型号带有回形针的多个附件

ruby-on-rails - 抢救模块内特定类型的所有错误

ruby-on-rails-3 - 在 Ubuntu 10.04 VM 上安装带有 Rails 3.2.1 的 Postgresql 8.4 时如何创建非系统用户?

ruby-on-rails - 通过双层has_many关系检索结果集

mysql - Docker rails mysql 未连接

ruby-on-rails - AJAX 更新 Rails 3 中的待办事项列表