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.
developerinlondon (Guest)
on 2009-06-07 14: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
Conrad T. (Guest)
on 2009-06-07 17: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 
<removed_email_address@domain.invalid>
Developer In London (Guest)
on 2009-06-07 17: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 T. <removed_email_address@domain.invalid>

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


--
cashflowclublondon.co.uk

                      ("`-''-/").___..--''"`-._
                       `6_ 6  )   `-.  (     ).`-.__.`)
                       (_Y_.)'  ._   )  `._ `. ``-..-'
                     _..`--'_..-_/  /--'_.' ,'
                    (il),-''  (li),'  ((!.-'
.
Marnen L. (Guest)
on 2009-06-07 21: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
removed_email_address@domain.invalid
Developer In London (Guest)
on 2009-06-07 21:25
(Received via mailing list)
That Works! Thanks!

2009/6/7 Marnen Laibow-Koser <removed_email_address@domain.invalid>

> 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.