【问题标题】:uninitialized constant ActionView::CompiledTemplates::BootstrapPagination未初始化的常量 ActionView::CompiledTemplates::BootstrapPagination
【发布时间】:2023-03-04 21:45:01
【问题描述】:

我已经安装了 will_paginate-bootstrap gem 以使用引导样式分页。我认为这是:

    <%= will_paginate @mylist, renderer: BootstrapPagination::Rails %> 

但它返回此错误

    uninitialized constant ActionView::CompiledTemplates::BootstrapPagination

【问题讨论】:

    标签: ruby-on-rails twitter-bootstrap ruby-on-rails-4 will-paginate


    【解决方案1】:

    只需使用will_paginate 并创建您自己的渲染就可以了。

    对于引导程序 4,将 this code 放入 config/initializers/will_paginate.rb

    然后,下面的代码变成application_helper.rb

      def will_paginate(collection_or_options = nil, options = {})
        if collection_or_options.is_a? Hash
          options, collection_or_options = collection_or_options, nil
        end
        unless options[:renderer]
          options = options.merge renderer: WillPaginate::ActionView::BootstrapLinkRenderer
        end
        super *[collection_or_options, options].compact
      end
    

    最后,像这样调用视图:

    nav aria-label="blah"
      = will_paginate @items
    

    【讨论】:

      【解决方案2】:

      如果您将 gem will_paginate-bootstrap 与 rails 4.0 或更高版本一起使用,则必须使其在所有阶段都可用。见Rails Upgrade Guide 3.2 to 4.0。在 Rails 4.0 之前,这很好,只在资产中拥有它。

      这适用于 rails 3.X 或更早版本:

      gem 'will_paginate-bootstrap', group: :assets
      

      它必须在任何组之外(在 Rails 4.0 及更高版本上):

      gem 'will_paginate-bootstrap'
      

      【讨论】:

        【解决方案3】:

        尝试将 Gemfile 中的“bootstrap-will_paginate”更新为“0.0.10”

        gem 'bootstrap-will_paginate', '0.0.10'

        并使用

        对我有帮助

        【讨论】:

          【解决方案4】:

          在我的 Gemfile 中,我的“资产”组中有 will_paginate-bootstrap……但它不仅仅是一组资产。该课程需要在生产中出现。将其移出资产组为我解决了这个问题。

          【讨论】:

            【解决方案5】:

            如果您已成功捆绑所有 gem,那么它应该像这样工作。

            <%= will_paginate @mylist, :renderer => BootstrapPagination::Rails %>
            

            请确保您在安装 gem 后重启了服务器

            【讨论】:

            • 重启服务器为我做了。谢谢。
            • 这对我不起作用。它在本地工作,但在服务器上我得到了同样的错误。
            • 你重启服务器了吗?如果您正在运行 appache,请尝试重新启动 httpd 服务
            • 我使用的是“bootstrap-will_paginate”而不是“will_paginate-bootstrap”。解决这个问题并重新启动服务器就可以了。
            猜你喜欢
            • 2012-04-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-03-02
            • 1970-01-01
            • 1970-01-01
            • 2015-12-29
            相关资源
            最近更新 更多