You have a nil object when you didn't expect it! Error!

Hi, I’ve created a business form and an address form using scaffolding
and I am trying to get the business form to display some information
from the address form, but I keep getting an “You have a nil object
when you didn’t expect it! You might have expected an instance of
Array. The error occurred while evaluating nil.each” error.

17:
18:
19: <% for business in @businesses %>
20: <% for address in @addresses %>
21:
22:


23: <%=h business.address_id %>

This is my business index.html form:

Listing businesses

<% for business in @businesses %>
<% for address in @addresses %>

<% end %> <% end %>
Address Business name Business email Business telephone City
<%=h business.address_id %> <%=h business.business_name %> <%=h business.business_email %> <%=h business.business_telephone %> <%=h address.city %> <%= link_to 'Show', business %> <%= link_to 'Edit', edit_business_path(business) %> <%= link_to 'Destroy', business, :confirm => 'Are you sure?', :method => :delete %>

<%= link_to ‘New business’, new_business_path %>

This is my business controller form:

def index
@businesses = Business.search(params[:search])

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @businesses }
end

end

def show
@business = Business.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @business }
end
end

What have I missed?

On 18/02/2010 11:08 PM, Sam wrote:

21:
format.xml { render :xml => @businesses }

What have I missed?

Errm… I guess you’ve missed the fact that you haven’t actually loaded
or assigned @addresses in your controller?

Cheers,
Gary.

Hi,

You are looping through the addresses this way
<% for address in @addresses %>
but your controller misses @addresses
Please mention that in your controller.

Bye!!

it looks that error coming in yours show.html.erb

create a test data fisrt in new.html.erb
then GoTo show.html.erb

or in show.html.erb Put

<%= if @object.nil? %>

<% there are No data in records %>

<%else%>

yours code

<% end %>

ok if works then tell and if not then must reply…

On Fri, Feb 26, 2010 at 4:06 PM, Rails ROR [email protected]
wrote:

21:

Business name <%=h business.business_name %> respond_to do |format| end .

.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.


Thanks:
Rajeev sharma