2015-07-05 4 views
0

У меня проблемы с отображением эскиза загруженного мной изображения. Файл успешно загружен, но я не смог его отобразить. Любая попытка найти URL-адрес или путь порождает неопределенные ошибки метода. Очень ценю любую помощь!Проблемы с отображением изображений в Rails с использованием CarrierWave

Модель

class Play < ActiveRecord::Base 
    mount_uploaders :profile_images, ImageUploader 
end 

Контроллер

... 
def play_params 
    params.require(:play).permit(:title, :description, :date_of_play,:profile_image) 
end 
... 

Загрузчик

class ImageUploader < CarrierWave::Uploader::Base 
    include CarrierWave::RMagick 
    storage :file 

    def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    end 

    version :thumb do 
    process :resize_to_limit => [200, 200] 
    end 

    def extension_white_list 
    %w(jpg jpeg gif png) 
    end 
end 

просмотров/играет/_form.html.erb

... 
<%= f.file_field :profile_image %> 
... 

просмотров/прослушиваний/show.html.erb

... 
<%= image_tag @play.profile_image.url(:thumb) if @play.profile_image.present? %> 
... 

миграция

class CreatePlays < ActiveRecord::Migration 
def change 
    create_table :plays do |t| 
    t.string :title, null: false 
    t.string :description, null: false 
    t.datetime :date_of_play, null: false 
    t.string :profile_image 

    t.timestamps null: false 
    end 
end 
end 

ошибка

undefined method `url' for "#<File:0x00000005a7dbb8>":String 

Спасибо!

+0

'mount_uploaders: profile_images, ImageUploader' должен быть' mount_uploader: profile_image, ImageUploader'. –

+0

ОН МОЙ БОГ. СЕЙЧАС! Пожалуйста, ответьте на мой вопрос, чтобы я мог принять его и дать сладкие сладкие баллы. Я ранее пытался изменить profile_images -> profile_image, но никогда не думал о mount_uploaders-> mount_uploader –

ответ

1

Вы должны изменить

mount_uploaders :profile_images, ImageUploader 

в

mount_uploader :profile_image, ImageUploader 

Обратитесь к CarrierWave documentation, вы просто перепутали конфигурацию одинарные и загрузки нескольких файлов.

+0

Еще раз спасибо! Я потратил несколько часов на это ... очень ценю это. –

Смежные вопросы