Rails手动在自定义模型上运行验证

时间:2013-10-26 11:09:52

标签: ruby-on-rails ruby activerecord

我们有自定义模型。它在没有数据库的情况下工作,包括来自活动记录的一些mixins:

class Node
  include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming

  attr_accessor :title, :content

  validates_presence_of :title, :content

  def initialize(attributes = {})
    attributes.each do |name, value|
      send("#{name}=", value)
    end
  end

  def persisted?
    false
  end

  def save
    # we want to run validations here
  end
end

通过谷歌搜索可以使用@object.validate,但它抱怨没有这样的方法。

请帮助。

1 个答案:

答案 0 :(得分:4)

你是对的,.validate似乎未定义。

@object.valid?应该为你想要的工作做好准备。

请记住,这会返回一个布尔值,您可以根据自己的要求控制条件行为。