延迟加载到 image_tag Rails

Lazy Load to image_tag Rails

显然 this commit 添加了一个配置选项来定义 image_tag :loading 选项的默认值。因此,通过设置,config.action_view.image_loading 应用程序可以选择在整个站点范围内延迟加载图像,而无需更改视图代码。

config.action_view.image_loading = "lazy"

然而,当我尝试将其添加到我的 development.rb 或 production.rb 时,出现以下错误:

1: from /Users/cash/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.1.3.2/lib/action_view/railtie.rb:46:in `each'
/Users/cash/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.1.3.2/lib/action_view/railtie.rb:53:in `block (3 levels) in <class:Railtie>': undefined method `image_loading=' for ActionView::Base:Class (NoMethodError)

Rails版本:6.1.3.2

Ruby 版本:ruby 2.7.1p83

这在稳定 rails 中还不可用,它将在 rails 7 中可用,如果你现在需要这样做,你可以切换到依赖 git 主要负责人:

git 'https://github.com/rails/rails.git' do
  gem 'railties'
  gem 'actionpack'
  gem 'activemodel'
end

您可以通过转到合并提交来查看它:https://github.com/rails/rails/commit/3c2a80d8b1d4730897a7040b7f563d0027aa1e83 并检查标题下方。它显示了这个提交所属的分支和标签(在这种情况下,只有 main):