2016-05-01 79 views
0

我正在閱讀關於此問題的堆棧帖子,但我仍然未能使默認配置文件圖像正常工作。無法看出如何爲回形針配置默認配置文件圖像

在我的應用程序/ models文件夾,我有一個名爲「profile.rb」文件看起來像這樣:

class Profile < ActiveRecord::Base 
    belongs_to :user 

    # From Paperclip GitHub README 
    has_attached_file :avatar, styles: { medium: "300x300>", thumb: "100x100>" }, default_url: "/images/:style/missing.jpg" 
    validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\Z/ 
end 

從我的理解,它基本上說,風格是某種形式的佔位符中等和拇指。所以「thumb」和「medium」應該是assets/images中的文件夾。 default_url指出默認圖像將位於:「thumb」或「medium」文件夾中的樣式中。我在我的images目錄中創建了一個名爲「thumb」的文件夾,然後在其中放置了「missing.jpg」文件。在我show.html.erb我也行

<%= image_tag @user.profile.avatar.url %> 

這顯示,當用戶上傳圖像的圖像作品,但顯示爲「失蹤」,如果他們不上傳圖片。

我還注意到在公共/ profiles/avatars/000/000/004目錄中有3個文件夾叫做「medium」,「original」和「thumb」。我認爲這是我需要放置我的「missing.jpg」的地方,但那也不起作用,所以我對於該怎麼做有點困惑。

根據this stack post,Paperclip正在尋找公共目錄中的圖像,所以我認爲這是正確的地方,但我仍然不明白爲什麼它不起作用。

回答

0

丟失的圖像必須在一個公共文件夾,也可以把它放在應用程序/資產/圖像文件夾,因爲它是全球可用,如果在將來你把你的頭像表,丟失的圖像將不見了。

在圖像文件夾中保留缺失的圖像後。

要麼你可以給DEFAULT_URL爲:

default_url: "/assets/icon/missing.jpg" 

,或者你可以把一個條件,你的意見,

<% if @user.avatar? %> 
    <%= image_tag @user.profile.avatar.url(:medium) %>  
<% else %> 
    <%= image_tag "/assets/icon/missing.jpg" %> 
<% end %>