gpt4 book ai didi

ruby-on-rails - 如何将宽度和高度的 img 内联样式转换为属性

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

目前我的图像是从我的 CMS 中显示的,如下所示:

我正在努力创建 AMP 页面,但它们不接受样式中的图像尺寸。 AMP 页面需要:

<amp-img alt="stuff" src="welcome.jpg" height="200" width="203"></amp-img>

Rails/Ruby 是否有一种简单的方法来进行这种转换?

最佳答案

如果你经常这样做,你可以创建一个像 image_tag 这样的 View 助手:

module AmpHelper
include AssetUrlHelper

def amp_image_tag(source, options={})
options = options.symbolize_keys
src = options[:src] = path_to_image(source)

options[:width], options[:height] = extract_dimensions(options.delete(:size)) if options[:size]

content_tag("amp-img", nil, options)
end

protected

def extract_dimensions(size)
size = size.to_s
if size =~ %r{\A\d+x\d+\z}
size.split('x')
elsif size =~ %r{\A\d+\z}
[size, size]
end
end
end

这将与 Assets 管道一起工作以在生产中提供 Assets 哈希/指纹,并与 :size 选项一起工作:

amp_image_tag 'foo.jpg', size: '300x200', alt: 'Foo Bar!'

#=> <amp-img src="/assets/foo-abc123.jpg" width="300" height="200" alt="Foo Bar!"></amp-img>

关于ruby-on-rails - 如何将宽度和高度的 img 内联样式转换为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41772053/

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