Each.do error with one record

Hello, I realize that the reason I am getting this error is because my
code returns many records when there is more than one to be found.
However, if it only finds one, the each.do flakes out and gives me a
NoMethodError. What is the best way to handle it?

– Find all events for a given school

@events = Event.find_by_school_id(params[:school_id], :order =>
‘date’)

– each.do code to loop through each one:

<% @events.each do |e|%> <% end %>
Time Title Description
<%= e.date.strftime('%I:%M %p') %> <%= link_to e.title, :action => 'show', :id => e.id %> <%= link_to e.school.name, :action => 'list', :school_id => e.school %>

Thank you for you help

On 12/7/07, Anthony [email protected] wrote:

Hello, I realize that the reason I am getting this error is because my
code returns many records when there is more than one to be found.
However, if it only finds one, the each.do flakes out and gives me a
NoMethodError. What is the best way to handle it?

– Find all events for a given school

@events = Event.find_by_school_id(params[:school_id], :order =>
‘date’)

I think you want
@events = Event.find_all_by_school_id(…)

find_by_school_id only returns the first found.


Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

That’s it. Thank you.