专辑的未定义方法`image'

时间:2016-09-18 06:48:21

标签: ruby-on-rails

我目前正在尝试在相册中显示照片。

这是我收到的错误(图片如下): enter image description here

这些是目前的规格:

相册模型

class Album < ApplicationRecord
    has_many :photos, dependent: :destroy
    validates :title, presence: true
    validates :description, presence: true
end

照片模型

class Photo < ApplicationRecord
  belongs_to :album
  validates :name, presence: true
  validates :image, attachment_presence: true

  has_attached_file :image, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.png"
  validates_attachment_content_type :image, content_type: /\Aimage\/.*\z/
end

照片控制器

class PhotosController < ApplicationController

    def create
        @album = Album.find(params[:album_id])
        @photo = @album.photos.create(photo_params)
        redirect_to album_path(@album)
    end

    def destroy
        @album = Album.find(params[:album_id])
        @photo = @album.photos(params[:id])
        @photo.destroy
        redirect_to album_path(@album)
    end

    private 

        def photo_params
            params.require(:photo).permit(:name,:image)
        end
end

查看文件夹 - 照片/ _photos.html.erb - 从生成错误

<p>
    <strong>Name:</strong>
    <%= photo.name %>
</p>
<p>
    <%= image_tag @album.image.url(:medium) %>
</p>

如何修复此错误?

如果需要更多信息,请与我们联系。

谢谢。

1 个答案:

答案 0 :(得分:2)

而不是这一行

<%= image_tag @album.image.url(:medium) %>

试试这个

 <%= image_tag photo.image.url(:medium) %>