このようなもの?
def blank_image.url(user)
if @user.image.empty?
"/assets/default_photo.jpg"
else
@user.image.url
end
end
アセット上の画像は、プリコンパイルされると、/アセット(スタイルシートやJavaScriptと同じ)から利用できるようになり、「/images」パスが削除されます。
新しいコメントに基づいて、最善の解決策は、Carrierwaveのdefault_urlを提供することかもしれません。ドキュメントを確認すると、次のようなことができます。
class MyUploader < CarrierWave::Uploader::Base
version :thumb do
process resize_to_fill: [280, 280]
end
version :small_thumb, :from_version => :thumb do
process resize_to_fill: [20, 20]
end
def default_url
"/assets/default_images/" + [version_name, "default.png"].compact.join('_')
end
end
次に、/ app / asserts / images / default_images /に写真を追加して、デフォルトの画像であるdefault.png、バージョン:thumbであるthumb_default.png、最後にバージョン:であるsmall_thumb_default.pngのファイルを作成する必要があります。 small_thumb。
アップロードされた画像に対して異なる画像バージョンを処理する場合の例として、:thumbと:small_thumbの両方があることに注意してください。