Ruby on rails 如何转换width&;的img内联样式;属性的高度
当前,我的图像显示在我的CMS中,如下所示: 我正在创建AMP页面,它们不接受样式中的图像尺寸。AMP页面要求:Ruby on rails 如何转换width&;的img内联样式;属性的高度,ruby-on-rails,ruby,ruby-on-rails-4,amp-html,Ruby On Rails,Ruby,Ruby On Rails 4,Amp Html,当前,我的图像显示在我的CMS中,如下所示: 我正在创建AMP页面,它们不接受样式中的图像尺寸。AMP页面要求: <amp-img alt="stuff" src="welcome.jpg" height="200" width="203"></amp-img> Rails/Ruby有没有一种简单的转换方法?如果您经常这样做,您可以创建一个视图帮助程序,如image\u tag: module AmpHelper include AssetUrlHelper
<amp-img alt="stuff" src="welcome.jpg" height="200" width="203"></amp-img>
Rails/Ruby有没有一种简单的转换方法?如果您经常这样做,您可以创建一个视图帮助程序,如
image\u tag
:
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
这将与资产管道配合使用,以在生产中提供资产哈希/指纹,并与: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>
amp_image_标签'foo.jpg',大小:'300x200',alt:'foo Bar!'
#=>
什么是AMP页面?你能添加一些代码吗?到目前为止,您尝试了什么?AMP页面: