2016-05-01 6 views
0

私はこの問題のスタックポストを過ぎて読んでいたためにデフォルトのプロフィール画像を設定する方法を見つけ出すことはできませんが、私はまだデフォルトのプロファイルイメージが動作するように得ることに成功しませんでした。私が理解からは、ペーパークリップ

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 

が、基本的なスタイルは、プレースホルダのいくつかの並べ替えであることを言っている:私のアプリ/モデルフォルダに

、私はこのようになります「profile.rb」と呼ばれるファイルを持っています中と親指。だから、 "親指"と "中"は、資産/画像の内側のフォルダになっているはずです。 「親指」や「中」フォルダ内にあるスタイル:DEFAULT_URLは、デフォルトの画像が中に発見されると述べています。私は私のimagesディレクトリに「親指」というフォルダを作り、それに「missing.jpg」ファイルを置きました。私のshow.html.erbでは、私はライン、ユーザーが画像をアップロードしたときの画像を示すに動作しますが、彼らは画像をアップロードしていない場合は、「行方不明」として表示されます

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

を持っています。

私はまた、公共/プロフィール/アバター/ 000/000/004ディレクトリに3と呼ばれるフォルダを「中」、「オリジナル」と「親指があったことことに気づきました。」私は「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 %> 
関連する問題