Te reitero Simula, NO tenes que hacer los JOINS vos. Eso lo hace solo
ActiveRecord. El join se usa para casos determinados, no para este tan
simple.
Pasa también la linea donde da el error de nil.
On 07/28/2011 09:46 AM, simula wrote:
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 <http://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]
<mailto:[email protected]>
Un abrazo!
--
Saludos Cordiales,
Juan Pablo
2011/7/27 simula <[email protected] <mailto:[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 <http://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]
<mailto:[email protected]>
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
_______________________________________________
Ruby mailing list
[email protected]
<mailto:[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] <mailto:[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