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 %> Thsnk you -- The sun comes up and we start again --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Aug 31, 7:57 pm, Anthony Gardner <antsmailingl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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
Frederick, Thanks for getting back but you''re missing the point, they''re working on the same data. The .each block iterates over the data correctly but the same data throws the nil object error when I index the item. That''s the problem. -Ants 2009/8/31 Frederick Cheung <frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>> > > > On Aug 31, 7:57 pm, Anthony Gardner <antsmailingl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Aug 31, 8:16 pm, Anthony Gardner <antsmailingl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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 <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > > > > > > > > > On Aug 31, 7:57 pm, Anthony Gardner <antsmailingl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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.
Yes, you''re right! I won''t go into where the mistake was but although the problem was in the code I submitted, the error (just my way of thinking, was in another part of the code) So what you said got me thinking and I addressed another part of the code and found the error. Merci!! 2009/8/31 Frederick Cheung <frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>> > > > On Aug 31, 8:16 pm, Anthony Gardner <antsmailingl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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 <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > > > > > > > > > > > > > > > > > On Aug 31, 7:57 pm, Anthony Gardner <antsmailingl...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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. > > >-- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---