无法加载应用程序:NameError:未初始化常量Polaris::ViewHelper

问题描述 投票:0回答:1

将我的 gem“polaris_view_components”从版本

"~> 1.2.0
升级到
"2.0.0"

宝石文件

gem 'polaris_view_components', '~> 2.0', '>= 2.0.1'
gem "view_component"

捆绑宝石成功...

gem list polaris_view_components 

*** LOCAL GEMS ***

polaris_view_components (2.2.4)

但是我无法启动应用程序,错误显示

Unable to load application: NameError: uninitialized constant Polaris::ViewHelper

我的源代码中没有痕迹

Polaris::ViewHelper
(我不手动包含它)。

它来自 gem 生成的文件(在底部它包含

helper Polaris::ViewHelper

 /Users/developer/.asdf/installs/ruby/3.1.0/lib/ruby/gems/3.1.0/gems/polaris_view_components-2.0.0/lib/polaris/view_components/engine.rb:36

这是文件

engine.rb
需要“导轨/发动机” 需要“视图组件” 需要“视图组件/版本”

  module Polaris
    module ViewComponents
      class Engine < ::Rails::Engine
        isolate_namespace Polaris::ViewComponents

        config.autoload_paths = %W[
          #{root}/app/components
          #{root}/app/helpers
        ]

        # Remove default wrapping .field_with_errors for proper Shopify form validations
        config.to_prepare do
          ActionView::Base.field_error_proc = ->(html_tag, _instance) { html_tag.html_safe }
        end

        initializer "polaris_view_components.assets" do |app|
          if app.config.respond_to?(:assets)
            app.config.assets.precompile += %w[
              polaris_view_components.js polaris_view_components.css
            ]
          end
        end

        initializer "polaris_view_components.importmap", before: "importmap" do |app|
          if app.config.respond_to?(:importmap) && app.config.importmap.has_key?(:cache_sweepers)
            app.config.importmap.cache_sweepers << Engine.root.join("app/assets/javascripts")
          end
        end

        initializer "polaris_view_components.helpers" do
          ActiveSupport.on_load(:action_controller_base) do
            helper Polaris::ViewHelper
            helper Polaris::UrlHelper
          end
        end
      end
    end
  end
rubygems polaris polaris-view-components
1个回答
0
投票

看起来这个 gem 的最新版本适用于 Rails 7.1 或更高版本 https://github.com/baoagency/polaris_view_components/pull/338/files

还需要高于 ruby 3.1 - 至少在我本地的测试中是这样。

© www.soinside.com 2019 - 2024. All rights reserved.