来自localhost的默认图像,而不是从cloudinary加载

时间:2014-02-06 10:41:56

标签: ruby-on-rails cloudinary

我正在使用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提供的一个帮助程序,用于从那里加载图像。

1 个答案:

答案 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;'