首页 > 解决方案 > 延迟加载到 image_tag Rails

问题描述

所以显然这个提交添加了一个配置选项来定义 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)

导轨版本:6.1.3.2

红宝石版本:红宝石2.7.1p83

标签: ruby-on-railsrubylazy-loading

解决方案


这在 stable 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):

在此处输入图像描述


推荐阅读