0

我明白了

undefined method `photo' for #<ActiveRecord::Relation:0x00000102a8a7c0>

我试图在我的页面上显示图像时出错。我正在使用回形针上传文件和 will_paginate。

这是 Admin::Image 模型的内容

class Admin::Image < ActiveRecord::Base
  attr_accessible :added_on, :title, :photo

  validates_presence_of :title
  validates_presence_of :photo

  self.per_page = 15

  has_attached_file :photo
end

这是图像控制器的内容

class ImagesController < ApplicationController
  def index
    @data = Admin::Image.paginate(:page => params[:page])
  end
end

和视图

<%= image_tag @data.photo.url %>

这里有什么问题?

4

2 回答 2

1

在控制器中,您将 Admin::Image 对象的集合分配给 @data 实例变量(顺便说一句,为什么不将其称为 @images),并且在视图中您试图在整个集合上调用“照片”方法,而“照片” ' 方法在 Admin::Image 对象中可用。

于 2012-07-18T15:10:50.660 回答
0

Cthulhu 是对的,您缺少的是迭代集合:

<% @data.each do |datum| %>
  <%= image_tag datum.photo.url %>
<% end %>
于 2012-07-18T15:13:08.733 回答