我正在使用cloudinary在我的rails 4应用程序中存储用户头像。我的图像资源中也有一个占位符图像。我想知道如果用户没有上传他的头像,我该如何从localhost加载它。
截至目前,我必须添加支票
- if user.avatar.present?
= cl_image_tag(user.avatar.filename, width: 46, height: 46)
- else
= image_tag 'default.png', style: 'width:46px; height:46px;'
我可以将默认图像指定为
= cl_image_tag(user.avatar.filename, width: 46, height: 46, default: 'default.png')
但默认图像必须存储在cloudinary上。我不希望将它存储在cloudinary上,因为数据传输需要付费。因此,我存储了'default.png'存储在资产中。 'cl_image_tag'是cloudinary提供的一个帮助程序,用于从那里加载图像。
答案 0 :(得分:3)
我解决了以下问题
首先,需要在cloudinary上保存默认图像 。 例如
<%= cl_image_tag("non_existing_id.png", width: 100, height: 100, default_image: "avatar.png") %>
如果您不想从cloudinary加载默认图像,而是从我们的localhost加载,请在部分中添加以下代码并使用此部分。
- if user.avatar.present?
= cl_image_tag(user.avatar.filename, width: 46, height: 46)
- else
= image_tag 'noPic_80.png', style: 'width:46px; height:46px;'