延迟加载到 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
):
显然 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
):