Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何转换width&;的img内联样式;属性的高度_Ruby On Rails_Ruby_Ruby On Rails 4_Amp Html - Fatal编程技术网

Ruby on rails 如何转换width&;的img内联样式;属性的高度

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

当前,我的图像显示在我的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

  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页面: