【Rails】ユーザーアイコンにデフォルト画像

CarrierWave+MiniMagickを使っています。 アップロードされなかった場合、ユーザーアイコンにデフォルト画像を設定します。

バージョン情報

uploaderの設定

アップローダコメントアウトを外す。

(app/uploaders/icon_uploader.rb)

def default_url(*args)
  ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
end

画像の準備

app/assets/images/fallbackdefault.pngファイルを置く。

icon.thumb.urlを使う場合はthumb_default.pngファイルを置く。

呼び出し

icon.urlnilの場合、default.png が呼び出される。

icon.thumb.urlnilの場合、thumb_default.pngが呼び出される。