Rails:嵌套资源上的索引视图问题

时间:2012-07-19 09:23:02

标签: ruby ruby-on-rails-3 nested-attributes

我有2个模型的嵌套资源 - products和product_images。我正在使用Carrierwave上传图像。 我的产品型号如下所示:

class Product < ActiveRecord::Base

has_many :product_images, :dependent => :destroy
accepts_nested_attributes_for :product_images, :allow_destroy => :true
end

我的product_images模型如下所示:

class ProductImage < ActiveRecord::Base
mount_uploader :image, ImageUploader
belongs_to :product
end

我的products_controller看起来像这样:

class ProductsController < ApplicationController

def index
@products = Product.all
end

def show
@product = Product.find(params[:id])
@images = @product.product_images
end

def new
@product = Product.new
@product.product_images.build
end
...

这在我的Show视图中也很好用,也有拇指版本。 但是我无法让索引视图正常工作。我正在尝试在Product_images表中显示第一个图像,但它无法解决。

这是我的索引视图:

<table>

<% @products.each do |product| %>
<tr class="<%= cycle('list_line_odd', 'list_line_even') %>">

<td class="list_description">
<dl>
<dt><%= product.title %></dt>
</dl>
</td>
<td>
<%= image_tag(product.product_image.first ) %>
</td>
</td>
...
</table>

我的路线首先看起来像这样:

resources :products 

然后我尝试了这个:     资源:产品做     资源:product_images     端

如何在索引视图中访问图像?有人可以帮我解决这个问题吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您的image_tag行错了。它应该是

image_tag product.product_images.first.image_url

就在the examples in Capybara's README:)