How to access parent property

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

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

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.

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,

That Works! Thanks!