How to access parent property


#1

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


#2

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


#3

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),'  ((!.-'

.


#4

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


#5

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),'  ((!.-'

.