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: </tr> 18: 19: <% for business in @businesses %> 20: <% for address in @addresses %> 21: 22: <tr> 23: <td><%=h business.address_id %></td>
This is my business index.html form:
<h1>Listing businesses</h1>
<table> <tr> <th>Address</th> <th>Business name</th> <th>Business email</th> <th>Business telephone</th> <th>City</th> </tr>
<% for business in @businesses %> <% for address in @addresses %>
<tr> <td><%=h business.address_id %></td> <td><%=h business.business_name %></td> <td><%=h business.business_email %></td> <td><%=h business.business_telephone %></td> <td><%=h address.city %></td> <td><%= link_to 'Show', business %></td> <td><%= link_to 'Edit', edit_business_path(business) %></td> <td><%= link_to 'Destroy', business, :confirm => 'Are you sure?', :method => :delete %></td> </tr> <% end %> <% end %> </table>
<br />
<%= 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?