Posted at

paperclipのhas_attached_fileのオプションで画像のデフォルト値を設定する

More than 3 years have passed since last update.


はじめに

今回は、画像のデフォルト値を設定することで、画像がアップロードされなかった際に任意の画像を表示させます。


モデルファイル内

以下通常の記述内容


user.rb

#paperclip

has_attached_file :avatar,style: { medium: '300x300', thumb: '100x100' }
validate_attachment_content_type :avatar, content_type: /\Aimage\/.*\Z/

default_urlオプションを使用することで、デフォルト値の設定をすることができます。


user.rb

#paperclip

has_attached_file :avatar,style: { medium: '300x300', thumb: '100x100' }, default_url: '/images/no_image.png'
validate_attachment_content_type :avatar, content_type: /\Aimage\/.*\Z/

として、デフォルト値に設定する画像をapp/public/images/no_image.pngに置きます。これで完了です。

注意:assetsフォルダ内のimagesの中に画像を置いてもうまく適用されませんでした。この理由はわかりません。詳しい方いましたらコメントしていただくと大変助かります。