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