rails validates_associated if/unless not working -


i have parent has_many association children. child class has of own validations. want child validations run if value on parent set true. reason, no matter try validations on child run.

parent class

class parent < activerecord::base    has_many :children   accepts_nested_attributes_for :children, allow_destroy: true, reject_if: :all_blank   validates_associated :children, if: proc.new { |m| m.do_validation == true }  end 

child class

class child < activerecord::base   validates_presence_of :name end 

am using validates_associated incorrectly here?

thanks

validates_associated perform validations on associated records, in context of caller. in example when create parent if validations on parent pass, call validations on child ( related children), , if of validations fail, create of parent fail.

this means when create child call validations on child, not mater have put if in parent class, because validations related child model.

to prevent validations of child executed every time when record created, updated, ... have add if clause in child model.


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -