Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2006, 19:32
tomasulo
 
Fecha de Ingreso: agosto-2006
Mensajes: 316
Antigüedad: 17 años, 9 meses
Puntos: 0
render(:partial => "menu") me dice q nill

creo q esto de los objetos no lo tengo muy claro:

estoy haciendo unos test modificando codigos de ejemplo y me encuentro con un problema sin lugar a dudas causado por algun concepto mal asumido.

asi q cuando antes lo corrija mejor.

tengo un layout:

<body>
...
<%= render(:partial => "menu") %>
. ...
<%= yield :layout %>
</body>
</html>


_menu.rhtml muestra un listado de todas las empresas q se muestra en el lateral y con un link al edit

<table>
<% for empresa in @empresas %>
<tr>
<td>+<%= link_to empresa.empresa, :action => 'edit', :id => empresa %></td>
</tr>
<% end %>
</table>

este es el controlador, copiado directamente del list
def menu
@empresa_pages, @empresas = paginate :empresas, :per_page => 10
end

el controlador del edit y list no tiene ningun misterio, sacaditos calentitos del scaffold

def list
@empresa_pages, @empresas = paginate :empresas, :per_page => 10
end

def edit
@empresa = Empresa.find(params[:id])
end

el problema es q me da este error si llamo a edit, aunque si llamo a list me va bien:

Código:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occured while evaluating nil.each

Extracted source (around line #3):

1: <table>
2:   
3: <% for empresa in @empresas %>
4:   <tr>
5:     <td>+<%= link_to empresa.empresa, :action => 'edit', :id => empresa %></td>
6:   </tr>
lo q pasa es q @empresas esta vacio, pero no llego a comprender si es pq el metodo edit lo pisa (creo q no) o que con el metodo list funciona de churro (pq inicializa la variable por otro lado) pq @empresa esta vacio.