Im пытается получить изображение профиля для отображения для пользователей, которым не повезло. Ive установил жемчужину carrierwave
в gemfile вместе с mini_magick
.Ruby on Rails image_tag не отображает изображение Carrierwave
загрузчиком Изображение
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb do
process :resize_to_fit => [80, 80]
end
def extension_white_list
%w(jpg jpeg gif png)
end
user.rb
class User < ActiveRecord::Base
...
mount_uploader :avatar, AvatarUploader
end
show.html.erb
...
<%= image_tag @user.avatar.url(:thumb) if @user.avatar?%>
<%= link_to "Edit", edit_user_path(@user)%>
контроллер (время отображения alart, вместо изображения)
def update
if @user.update(user_params)
redirect_to @user
else
flash.now[:alert] = "Something went wrong. Please try again."
render :edit
end
end
private
def check_authorization
unless current_user.id == params[:id].to_i
redirect_to root_url
end
end
def set_user
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:username, :avatar)
end
end