ユーザーがファイルをアップしてくれない場合は多々あります。
そんな場合のデフォルト画像の設定の仕方です。
image_uoploader.rbというファイルを作成してた場合の例です。
public以下フォルダに画像を置いて、かつ複数バージョンを指定している場合
class ImageUploader < CarrierWave::Uploader::Base
version :thumb_300 do
process :resize_to_fit => [300, 300]
end
def default_url
"/images/fallback/" + [version_name, "default.png"].compact.join('_')
end
end
app/assets以下に置いている場合はこんな感じ
class ImageUploader < CarrierWave::Uploader::Base
version :thumb_300 do
process :resize_to_fit => [300, 300]
end
def default_url
ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
end
end
とここまではreadmeに書いているのですが、大変はまりました。
何故かと言うと、空画像で投稿してrails consoleで確認しても出ないから。。
rails consoleででないのは普通みたいなので、viewやらで確認しましょう。。