gracias por tu ayuda.
He intentando hacer esto en el controlador
@products = Product.paginate :per_page => 5, :page => params[:page], :joins => 
" inner join productsimages " 

hasta aqui bien


pero al ir a pintar los datos me dice

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



<% @products.each do |product| %>
  

<tr>
    <td><%= product.name %>

        </td>
    <td><%= product.category_id %></td>
  <td><%= product.category %></td>
  <% product.productsimages.each do |productsimage| %>
<td><%= image_tag productsimage.url %>
<% end %>

    <td><%=raw product.ingredients %></td>
    <td><%= product.expiration %></td>
    <td><%= product.conservation %></td>
    <td><%= product.format %></td>
    <td><%= product.specialformat %></td>
    <td><%= product.preparation %></td>
    <td><%= product.moreinfo %></td>
    <td><%= link_to 'Show', product %></td>
    <td><%= link_to 'Edit', edit_product_path(product) %></td>
    <td><%= link_to 'Destroy', product, :confirm => 'Are you sure?', :method => 
:delete %></td>

  </tr>
<% end %>



sabes que puedo estar haciendo mal?


muchas gracias 



El 28/07/2011, a las 13:45, Tute escribió:

> Simula,
> 
> Cuando haces un Product.all, también trae las imagenes en la medida que 
> tengas:
> 
> class Product < ActiveRecord::Base
> 
> has_many :images
> 
> end
> 
> class Image < ActiveRecord::Base
> belongs_to :product
> end
> 
> Entonces en el controlador te quedaria
> 
> 
> def [como se llame tu método]
> @products = Products.all, :include => [:images] #el include no es necesario, 
> solo hace que las imagenes se carguen ahora mismo. Esto hace el inner join 
> por vos.
> 
> En la vista, vas a tener que hacer algo así como:
> 
> <table>
> <thead>ble ble</thead>
> <tbody>
> <% @products.each do |product| %>
> <tr>
> <td><%= product.name%>
> <% product.images.each do |image| %>
> <td><%= image_tag image.url %>
> <% end %>
> </tr>
> <% end %>
> </tbody>
> </table>
> 
> On 07/28/2011 02:33 AM, simula wrote:
>> 
>> Hola Juan Pablo gracias, ya me he suscrito rubysur.
>> 
>> Lo que me comentas de la vista, el problema es que no se como obtener los 
>> datos ya que tengo una tabla con productos y otra con imágenes.
>> 
>> Un producto puede tener mas de una imagen y en el controlador con 
>> productos.all obtengo productos y no se como  hacer una unión entre un 
>> producto y sus imágenes
>> 
>> 
>> muchas gracias por la ayuda
>> 
>> 
>> El 28/07/2011, a las 00:20, Juan Pablo Taulamet escribió:
>> 
>>> Hola Simula!
>>> 
>>> Te cuento que muchos estamos en la lista de RubySur y ya no usamos mucho 
>>> que digamos esta lista.
>>> 
>>> Creo que para lo que estás queriendo hacer, lo más indicado sería no 
>>> incluir las imágenes y simplemente llamarlas en la vista:
>>> 
>>> Por ejemplo:
>>> 
>>> Controller:
>>> @productos = Producto.all
>>> 
>>> Vista:
>>> @productos.each do | producto|
>>>   <%= producto.nombre %>
>>>   <%= image_tag(producto.image) unless producto.image.nil? %>
>>> 
>>> Quizá si mandás un correo a la lista de RubySur obtenés más y mejores 
>>> respuestas :)
>>> 
>>> :nueva_lista => [email protected]
>>> 
>>> Un abrazo!
>>> 
>>> --
>>> Saludos Cordiales,
>>>     Juan Pablo
>>> 
>>> 
>>> 2011/7/27 simula <[email protected]>
>>> Hola, estoy empezando con ruby on rails y tengo una tabla de productos y 
>>> otra de imagenes de productos
>>> 
>>> a la hora de mostrar productos en el controlador hago esto
>>> 
>>> @products = Product.paginate :per_page => 5, :page => params[:page]
>>> 
>>> me muestra los productos paginados
>>> 
>>> 
>>> y quiero mostrar las imágenes de cada producto
>>> 
>>> he intentado esto
>>> 
>>> #@products = Product.paginate :per_page => 5, :page => params[:page], 
>>> :include => " productsimages ", :conditions => 
>>> 'products.id=productsimage.product_id'
>>> 
>>> 
>>> y claro así me muestra sólo los productos que tienen imagen.
>>> 
>>> Alguien me puede ayudar que tengo que hacer?
>>> 
>>> Llevo varios días y no se como seguir
>>> 
>>> gracias
>>> _______________________________________________
>>> Ruby mailing list
>>> [email protected]
>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>>> 
>>> _______________________________________________
>>> Ruby mailing list
>>> [email protected]
>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>> 
>> 
>> _______________________________________________
>> Ruby mailing list
>> [email protected]
>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
> 
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a