1

我有一个要验证的表格。验证基于几个其他模型对象的属性,但表单本身并不对应于 ActiveRecord 模型。

是否可以使用 ActiveModel 来实现这一点?

class Person < ActiveModel
  has_one :shoe
  validates :name, :length => { :maximum => self.shoe.size }
end

我基本上想根据另一个模型对象的属性来验证表单。这有可能吗?

4

1 回答 1

2
class Person 
  include ActiveModel::Validations

  # has_one :shoe # This won't work

  validates :validates_name_length

  private
  def validates_name_length
    errors.add :name, 'too long' if name && name.length > shoe.size 
  end
end
于 2012-06-21T13:25:59.150 回答