validates associated with model's error message

前端 未结 7 1516
孤独总比滥情好
孤独总比滥情好 2020-12-08 10:04

I have two model as follows

class User < ActiveRecord::Base
 validates_associated :account
end

class Account < ActiveRecord::Base

  belongs_to :user
         


        
7条回答
  •  独厮守ぢ
    2020-12-08 10:45

    For those still on Rails 2, you can overwrite validates_associated with the following code:

    module ActiveRecord::Validations::ClassMethods
      def validates_associated(association, options = {})
        class_eval do
          validates_each(association) do |record, associate_name, value|
            associate = record.send(associate_name)
            if associate && !associate.valid?
              associate.errors.each do |key, value|
                record.errors.add(key, value)
              end
            end
          end
        end
      end
    end
    

    Source: http://pivotallabs.com/alias-method-chain-validates-associated-informative-error-message/

提交回复
热议问题