对于弃用“validates_associated”在轨

问题描述:

在红宝石方法替代方法,你可以看到在http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates_associated对于弃用“validates_associated”在轨

这种方法已被弃用。

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

感谢 Neelesh

+0

'validates_associated'不见了加载ActiveModel中4.0 – Kris 2013-07-05 16:04:26

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

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

+0

假设你正在使用ActiveRecord – lebreeze 2011-03-15 07:50:45

+0

这是后话,将工作。我想要“验证”的香草方式http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates。我将使用validates_associated,直到那时。 – Neelesh 2011-03-17 05:02:26

validates_associated不会被弃用。不要相信apidock.com - 它显示了很多事情由于Rails的内部变化废弃警告,2和3。请参阅http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_associated