【发布时间】:2017-02-01 20:07:24
【问题描述】:
如果默认图像被破坏而不是文本,那么创建图像标签(通过 rails 助手)显示另一张图像的最佳方法是什么。它不必支持递归。如果链接损坏,我只有一个想要使用的默认图像。
【问题讨论】:
-
如果您使用 Carrierwave 上传照片,有一种巧妙的方法可以做到这一点。
标签: ruby ruby-on-rails-4
如果默认图像被破坏而不是文本,那么创建图像标签(通过 rails 助手)显示另一张图像的最佳方法是什么。它不必支持递归。如果链接损坏,我只有一个想要使用的默认图像。
【问题讨论】:
标签: ruby ruby-on-rails-4
你可以通过 JS 来实现,这里显示为 jQuery:
$('img').error(function() {
$(this).attr('src', 'missing.png');
});
如果是特定图像,您可以将错误处理程序附加到该对象。
我不知道有什么方法可以通过 image_tag 助手来做到这一点;您必须从应用程序向 src URL 发出请求并检查错误。不过,我会确保这实际上是您在走这条路之前需要做的,但这取决于您的要求。
【讨论】:
此post 使用background-image CSS 属性指向默认图像,如果找不到您的图像,将使用该属性。
【讨论】:
我遇到了类似的问题,我在表格中有几张缩略图,我需要检查该图片是否丢失,然后显示默认图像。
为此,我使用带有辅助方法的 image_tag。在辅助方法中,我检查 File.exist?如果文件存在。如果是,那么我将图像的路径作为字符串返回给 image_tag,否则我将路径返回到默认图像。
【讨论】: