gpt4 book ai didi

ruby-on-rails - 如何在图像标签选项中编写 ruby​​ 代码?

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:13 25 4
gpt4 key购买 nike

今天在处理图像时,我遇到了一个问题:当图像不存在或具有无效的 url(404 左右)时,我需要将其替换为 asset_path("default_avatar.png")。所以我尝试了:

def get_url_avatar url
return url if url.present? && Faraday.head(url).status == 200
asset_path "default_avatar.png"
end

但后来我找到了其他解决方案 - image_tag 中的 onerror 选项来处理客户端的问题。新代码:

<%= image_tag (user.avatar),
class: "avatar",
onerror: "this.src='asset_path("default_avatar.png")';" %>

<%= image_tag (user.avatar),
class: "avatar",
onerror: "this.src='<%= asset_path("default_avatar.png") %>';" %>


现在我遇到了 image_tag 的新问题。我需要在 onerror javascript 处理程序中获取 asset_path("default_avatar.png") 的值。
但是我不能在 onerror 处理程序中编写 ruby​​。怎么做?

最佳答案

在 erb <%= 之间的所有内容和 %>是 ruby​​ 代码,所以在那里使用 ruby​​ 字符串插值:

<%= image_tag (user.avatar),
class: "avatar",
onerror: "this.src='#{asset_path("default_avatar.png")}';" %>

关于ruby-on-rails - 如何在图像标签选项中编写 ruby​​ 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52852303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com