ruby on rails - Receiving already loaded object from find_by method of ActiveRecord::Associations::CollectionProx -


i have following models

class parent < activerecord::base   has_many :children end  class child < activerecord::base  belongs_to :parent end 

what want changing child object parent.children.find_or_initialize_by() , modify child object, save parent.save. children doesn't saved. here's code.

# prepare parent child p = parent.new({:name=>'parent'}) p.children << child.new({:name => 'child'}) p.save  # modify , save child p = parent.first c = p.children.find_or_initialize_by({:name=>'child'}) #=> returns child created above c.name = 'new child' p.save #=> children aren't saved 

i know because find_by method returns new object rather 1 loaded. seems more natural me if code above works because method invoked through activerecord::associations::collectionproxy. missing work? or there reasons find_by on activerecord::associations::collectionproxy have work does?

(i know can save modified child c.save, want save child through parant.save, because want errors on child object referenced parent.errors.)


Comments

Popular posts from this blog

commonjs - How to write a typescript definition file for a node module that exports a function? -

openid - Okta: Failed to get authorization code through API call -

thorough guide for profiling racket code -