On Nov 13, 9:29 pm, Mernagh <[EMAIL PROTECTED]> wrote:
> I have searched many sites for the solution. And maybe there is none
> or more likely it is so easy no one mentions it.
>
> The problem is this. I have an class called Event which has a HABTM
> relationship with Note.
>
> I can do the following with no problems
> e = Event.new
> e['name'] = 'test'
> e['state'] = 'started'
>
> But I cannot access the notes attribute in the same way
> e.notes << Note.find(:all)
> e.notes.size #=> 11
> e['notes'] #=> nil
>
> Why is it I can access e.name as e['name'] but not e.notes as e
> ['notes']?
Because name is an attribute (ie backed by some column on your table),
but notes isn't (its an association). The [] and []= methods are
equivalent to read/write_attribute, which as their names suggest are
for playing with attributes.
>
> And is there a work around to access notes only knowing the string
> name ("notes")?
>
Read up on your ruby (in particular the send method)
Fred
> Will
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---