未初始化的常量ActionView :: CompiledTemplates :: BootstrapPagination

时间:2014-01-10 06:53:00

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

我已经安装了will_paginate-bootstrap gem来使用bootstrap样式分页。在我看来,我有这个:

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

但它会返回此错误

    uninitialized constant ActionView::CompiledTemplates::BootstrapPagination

5 个答案:

答案 0 :(得分:12)

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

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

安装gem后请确保重新启动服务器

答案 1 :(得分:1)

如果将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

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

gem 'will_paginate-bootstrap'

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

对于bootstrap 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

答案 4 :(得分:-1)

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

gem 'bootstrap-will_paginate', '0.0.10'

并使用&lt;%= will_paginate @ mylist%&gt;

它对我有帮助