2016-08-06 288 views
0

我試圖讓一個個人資料圖片顯示給用戶沒有運氣。我已經將寶石與mini_magick一起安裝在gem文件中。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 

回答

0

哇,我們這裏有多好的社區!非常有幫助!其實我不得不去reddit得到該死的答案。我相信未來會有人會遇到同樣的問題,不幸的是我會先看看這個網站的答案。我的工作是爲我安裝imagemagick如果你使用的是Mac,並且已經安裝了自制軟件,那麼它就像brew install imagemagick一樣簡單。重新啓動你的服務器,它應該工作。