Ruby on Rails
Wednesday, January 27, 2016
ok, if i do this then i can acces the associated records:
x = Project.where('status=?','active').eager_load(:tasks)
x.each do |rec|
p rec.id #<< OK
rec.tasks each do |y|
p y.id
end
end
i guess i was just expecting a flat table because thats what i saw in the mysql query result pane
thx again
On Wed, Jan 27, 2016 at 1:09 PM, tom <tomabroad@gmail.com> wrote:
ok, u r right - i was just frustrated because i was going back and forth between joins , includes etc - here the 'error'undefined method `id' for #<Task::ActiveRecord_Associations_CollectionProxy:0xc4686a4>
On Wed, Jan 27, 2016 at 1:06 PM, Hassan Schroeder <hassan.schroeder@gmail.com> wrote:On Wed, Jan 27, 2016 at 9:49 AM, tom <tomabroad@gmail.com> wrote:
> x = Project.where('status=?','active').eager_load(:tasks)
> but how do i access it? my loops are failing when tryin to access the
> associates attribute:
>
> x = Project.where('status=?','active').eager_load(:tasks)
> x.each do |rec|
> p rec.id #<< OK
> p rec.tasks.id # << OUCH
> end
> pls advise
1. "OUCH"? What does that mean? You'll generally get more useful
answers if you show an actual error message. And for that matter
googling that error will frequently give you pointers towards solving
it yourself.
2. I would *guess* that "tasks" is a collection; do you expect that to
have an id? Or are you looking for the id of an individual task?
If in doubt, try: p rec.tasks.class
--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
http://about.me/hassanschroeder
twitter: @hassan
Consulting Availability : Silicon Valley or remote
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CACmC4yDjCt977YQ8zEQE0jEe3wrWN1mhUmxuujBFuSGSo6qXww%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CADQqhMe-HMVnpu_%3DmTse04JFGEo%3D_Latrrc45CgKsr2mg4mh6Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment