Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
(Usando Rails 4)
Tenho uma tabela chamada "Products" e outra chamada "ProductImages", onde todas as imagens dos "Products" estão guardadas:
Models:
class Product < ActiveRecord::Base
has_many :product_images
end
class ProductImage < ActiveRecord::Base
belongs_to :product
end
Controller:
@products = Product.all
Views
<% @products.each do |product| %>
<%= product.name %>
<%= product.price %>
<% end %>
Minha dúvida é: Como mostrar apenas a primeira imagem de cada produto na View junto ao nome e ao preço?
Desconsiderando o helper 'image_tag' por enquanto, para recuperar a primeira imagem, estou tentando usar:
<%= product.product_images.first %>
Mas ele me retorna um "ActiveRecord::Associations".
É possível pegar dados de uma "ActiveRecord::Associations" diretamente em uma View? Ou devo transforma-la em array? Ou ainda, devo criar um método, ou um 'scope', no Model?
Carregando comentários...