Forum: Ruby on Rails How to access parent property

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
A4ae6aac9990a6c84a97e4c753dda339?d=identicon&s=25 developerinlondon (Guest)
on 2009-06-07 12:45
(Received via mailing list)
Hi,

I am having difficulties accessing parent properties/attributes from
the child. Anyone could shed some lights onto this?

Heres a sample code:

class Parent < ActiveRecord::Base
  :has_many => :childs
  @connector
  def before_save
    @connector = 'some connector object'
    0..9.do |count|
      self.childs << Child.new
      self.childs[count].connector = @connector
    end
  end
end

class Child < ActiveRecord::Base
  :belongs_to => :parent
  @connector
   def before_save
      # code goes here to access @connector
   end
end

The above is just a recreation of what I am looking to do. So
basically I want to be able to access objects like the connector from
the child, or even the parent itself by something like
self.parent.attributes.

Any ideas?

thanks,

nayeem
40db9e75b3f5899258e3bdc0c9210154?d=identicon&s=25 Conrad Taylor (conradwt)
on 2009-06-07 15:33
(Received via mailing list)
Hi, when I saw your models, I was thinking that you should have the
following relationships:

Parent has many children

Child has many parents

Thus, you should have the following database tables:  children and
parents.  By doing this, this becomes a many to many relationship.

Good luck,

-Conrad

Sent from my iPhone

On Jun 7, 2009, at 1:35 AM, developerinlondon <ebillionaire@gmail.com>
A4ae6aac9990a6c84a97e4c753dda339?d=identicon&s=25 Developer In London (Guest)
on 2009-06-07 15:58
(Received via mailing list)
No I need to have it so that Child has one parent.

I managed to get a reference to the parent by using the ObjectSpace. But
its
almost a hack then a nice way of doing it.

2009/6/7 Conrad Taylor <conradwt@gmail.com>

>
> > Hi,
> >    @connector = 'some connector object'
> >   def before_save
> >
> > thanks,
> >
> > nayeem
> >
> > >
>
> >
>


--
cashflowclublondon.co.uk

                      ("`-''-/").___..--''"`-._
                       `6_ 6  )   `-.  (     ).`-.__.`)
                       (_Y_.)'  ._   )  `._ `. ``-..-'
                     _..`--'_..-_/  /--'_.' ,'
                    (il),-''  (li),'  ((!.-'
.
Dd2d775dea75b381edb1bbf0600a0907?d=identicon&s=25 Marnen Laibow-Koser (marnen)
on 2009-06-07 19:15
developerinlondon wrote:
> Hi,
>
> I am having difficulties accessing parent properties/attributes from
> the child. Anyone could shed some lights onto this?
>
> Heres a sample code:
[...]

Your sample code will not do the job.  All you need is

class Parent > ActiveRecord::Base
  has_many :children
end

class Child > ActiveRecord::Base
  belongs_to :parent
end

...and parent.children and child.parent will work as you'd like.
@connector is unnecessary.

Check the docs for Associations; Rails makes this ridiculously simple.

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
marnen@marnen.org
A4ae6aac9990a6c84a97e4c753dda339?d=identicon&s=25 Developer In London (Guest)
on 2009-06-07 19:25
(Received via mailing list)
That Works! Thanks!

2009/6/7 Marnen Laibow-Koser <rails-mailing-list@andreas-s.net>

> Your sample code will not do the job.  All you need is
> @connector is unnecessary.
>
> >
>


--
cashflowclublondon.co.uk

                      ("`-''-/").___..--''"`-._
                       `6_ 6  )   `-.  (     ).`-.__.`)
                       (_Y_.)'  ._   )  `._ `. ``-..-'
                     _..`--'_..-_/  /--'_.' ,'
                    (il),-''  (li),'  ((!.-'
.
This topic is locked and can not be replied to.