2011-09-01 44 views
2

我使用的铁轨2.3.8will_paginate未定义的方法。该will_paginate gem是出现虽然

我的错误的工作:

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方法包括没有按分页链接没有工作。 = \

现在,我刚开始使用捆绑器,并且在捆绑器之前,所有事情都一直在运行。 在我的environment.rb我做

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

Rails::Initializer呼叫

这里之前右边是:我的宝石文件的默认部分:

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中时才起作用:Initializer.run调用经典rails 2.3方式。,config.gem“searchlogic”,:version =>“2.2.28”

+0

如果您将:include =>:帐户退出,会发生什么情况?分页语句是否运行?我刚刚在Google上看到的所有内容都表明,如果模型出现奇怪现象,它偶尔会变得有点奇怪。 –

+0

是的,这并没有改变任何东西。奇怪的是,在切换到捆绑之前,这一切都奏效了。 – DerNalia

+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 ,它可能无法正确提升。

+0

我应该使用Bundler.require来做到这一点吗?像...在初始化程序之后只有我所有的宝石? – DerNalia

+0

顺便说一句。谢谢!但现在我只需要为搜索逻辑找到解决方案。我也发布了一个关于那个问题。情况有点不同。 – DerNalia

相关问题