On Aug 31, 8:16 pm, Anthony Gardner <[email protected]> wrote:
> Frederick,
>
> Thanks for getting back but you're missing the point, they're working on
> the same data.
I realise.
>
> The .each block iterates over the data correctly but the same data throws
> the nil object error when I index the item.
>
If the array is empty then each will be a no-op, unlike accessing [0].
Sounds like somewhere there is an item with no attendees.
Fred
> That's the problem.
>
> -Ants
>
> 2009/8/31 Frederick Cheung <[email protected]>
>
>
>
>
>
>
>
> > On Aug 31, 7:57 pm, Anthony Gardner <[email protected]> wrote:
> > > This is a repost as I had zero replies to my first email. This problem is
> > > driving me mad but it has to be a simple solution that I just can;t see.
>
> > > Can someone please tell me what the difference is between the following
> > bits
> > > of code ....
>
> > > <!-- this outputs the correct result -->
> > > <% @swimming_class.lessons.each do |lesson| %>
> > > <% lesson.lesson_register.attendees.each do |att| %>
> > > <%= att.enrollee_id %>
> > > <br />
> > > <% end %>
> > > <% end %>
>
> > > <!-- the following outputs
>
> > > You have a nil object when you didn't expect it!
> > > The error occurred while evaluating nil.enrollee_id
>
> > > -->
> > > <% @swimming_class.lessons.each do |lesson| %>
> > > <% lesson.lesson_register.attendees[0].enrollee_id %>
> > > <% end %>
>
> > if a lesson register has no attendees the second snippet will try to
> > access it anyway whereas the first won't
>
> > Fred
>
> > > Thsnk you
>
> > > --
> > > The sun comes up and we start again
>
> --
> 100% naturally selected. 0% designed.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---