samedi 28 mars 2015

can't generate a thumbnail of an image using carrierwave

my plan is i want to create a model only for images and use that model to create profile pictures, gallery etc..


so, i have created a separate model for images and i was able to store images in display those images. but, they are too big and so i want to create a thumbnail version. my configuration is



class Image < ActiveRecord::Base
mount_uploader :avatar, AvatarUploader
end


controller:



class ImagesController < ApplicationController
def new
@image_upload=Image.new
end

def create
@image_upload=Image.create(uploading_image)
if @image_upload.save
redirect_to '/users'
end
end

def uploading_image
params.require(:image).permit(:avatar)
end
end


uploader:



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

def store_dir
"uploads/#{model.class.to_s.underscore}...(default store only)"
end


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


user controller:



def index
@user_profile=Profile.find(1)
@imagefile=Image.first
end


users/index.html.erb:



<%= image_tag @imagefile.avatar.to_s %> #This gives me the whole image.

<%= image_tag @imagefile.image_url(:thumb).to_s %> #says undefined method `image_url' for #<Image:0x007f6cd0538010>


ps: i can see a thumbnail version in the folder


It would be so great, if anyone could help me out.


Aucun commentaire:

Enregistrer un commentaire