在rails中的ruby中不推荐使用的“validates_associated”方法的替代方法

时间:2011-03-15 05:35:09

标签: ruby-on-rails validation

正如您在http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates_associated

所见

此方法已被弃用。

我想知道可以用它来验证相关模型的正确方法。

由于 Neelesh

2 个答案:

答案 0 :(得分:1)

不推荐使用

validates_associated。不要相信apidock.com - 由于Rails 2和3中的内部更改,它显示许多内容的弃用警告。请参阅http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_associated

答案 1 :(得分:-1)

您可以创建自己的方法和回调。

class ShoppingCart < ActiveRecord::Base
  has_many :items
  before_validation :check_items

  def check_items
    items.each do |item|
      # check if valid and add to errors if any
    end
    return false if errors.any? # this will cause save to return false
  end
end

请参阅http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html