will_paginate未定义的方法。 Will_paginate宝石似乎可以工作

时间:2011-09-01 21:30:46

标签: ruby-on-rails pagination

我正在使用rails 2.3.8

我的错误:

undefined method `will_paginate' for #<ActionView::Base:0x1124bfa10>

在environment.rb中:

require "bundler/setup"
Bundler.require(:default)

在我的Gemfile中:

gem "will_paginate", "2.3.14"

在视图中:

<%= will_paginate(@subscriptions) %>

在控制器中:

@search = Subscription.search(params[:search])
@search.order ||= :ascend_by_account_id

@subscriptions = @search.all.paginate(:include => :account, :page => params[:page], :per_page => 30)

现在......分页方法似乎可以在应用程序的其余部分工作......只是这个应该包含分页链接的will_paginate方法不起作用。 = \

现在,我刚刚开始使用bundler,在捆绑之前,一切都在运行。 在我的环境中.rb我做

require "bundler/setup"
Bundler.require(:default)

Rails::Initializer电话

之前

,这是我的gem文件的默认部分:

source "http://rubygems.org"
# system
gem "rails", "2.3.8"
gem "activesupport", "2.3.8", :require => "active_support"
gem "rake", "0.8.7"

# might be for POW, not sure
gem "childprocess", "0.2.2", :git => "git://github.com/jarib/childprocess.git"


# app
gem "mysql", "2.7"
gem "lockfile"
gem "ssl_requirement", "0.1.0"
gem "attr_encrypted", "1.1.2"
#gem "searchlogic", "2.5.6"
gem "will_paginate", "2.3.16"
gem "paperclip"


gem "garb", "0.7.6"
gem "delayed_job", "2.0.3"
gem "httparty", "0.5.2"


gem "pony", "1.1"
gem "friendly_id", "3.0.6"
gem "stringex", "1.1.0"
gem "i18n", "0.4.2"

gem "sms_fu", "1.1.1"

注意:由于某些原因,搜索逻辑只有当它包含在经典rails 2.3方式的Rails:Initializer.run中时才有效。,config.gem“searchlogic”,:version =&gt; “2.2.28”

1 个答案:

答案 0 :(得分:4)

禁用will_paginate的自动要求:

# Gemfile
gem "will_paginate", "~> 2.3.15", :require => nil

并在environment.rb:

结束时手动完成
# end of environment.rb
require "will_paginate"

问题是,如果你在Rails::Initializer电话之前需要will_paginate,它可能无法正常推进。