Ruby on rails NoMethodError(未定义的方法`用于广播的第页和第页:0x00000003fd9320>;):

Ruby on rails NoMethodError(未定义的方法`用于广播的第页和第页:0x00000003fd9320>;):,ruby-on-rails,ruby,ruby-on-rails-3,require,will-paginate,Ruby On Rails,Ruby,Ruby On Rails 3,Require,Will Paginate,我对rails有点陌生,我的任务之一是将Rails2.1应用程序迁移到3.2。 一步一步地启动steb,首先是2.1到2.3轨道,现在是3.2轨道 无法使用bundle或gem文件,但我已安装了所需的所有gem 我现在的问题是转换将分页的方法 我在/config/initializer/load.rb中的requires顺序如下 需要“rails” 需要“rails/all” 需要“原型轨道” 需要“将分页” LIB充满了成功 但是当我试图在我的源代码中使用paginate时,我得到了这个错误

我对rails有点陌生,我的任务之一是将Rails2.1应用程序迁移到3.2。 一步一步地启动steb,首先是2.1到2.3轨道,现在是3.2轨道

无法使用bundle或gem文件,但我已安装了所需的所有gem

我现在的问题是转换将分页的方法

我在/config/initializer/load.rb中的requires顺序如下

需要“rails” 需要“rails/all” 需要“原型轨道” 需要“将分页”

LIB充满了成功

但是当我试图在我的源代码中使用paginate时,我得到了这个错误

NoMethodError (undefined method `page' for #<Broadcast:0x00000003fd9320>):
  app/controllers/broadcasts_controller.rb
广播模式类似于

class Broadcast < ActiveRecord::Base
  extend PhoneNumberFormatValidation
  ...
end
我不明白为什么找不到will paginate方法。 他是否使用ActiveRecord::Base

我的宝贝是:

*** LOCAL GEMS ***

actionmailer (3.2.11)
actionpack (3.2.11)
activemodel (3.2.11)
activerecord (3.2.11)
activerecord-oracle_enhanced-adapter (1.4.1)
activeresource (3.2.11)
activesupport (3.2.11)
arel (3.0.2)
bigdecimal (1.1.0)
builder (3.0.4)
bundler (1.2.3)
coderay (1.0.5)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.4.0)
dbi (0.4.5)
deprecated (2.0.1)
erubis (2.7.0)
execjs (1.3.2)
fastercsv (1.5.0)
hike (1.2.1)
i18n (0.6.1)
io-console (0.3)
journey (1.0.4)
jquery-rails (2.1.4)
json (1.7.7)
libv8 (3.11.8.13 x86_64-linux)
libxml-ruby (2.1.0)
mail (2.4.4)
method_source (0.8.2)
mime-types (1.19)
minitest (3.2.0)
multi_json (1.7.2)
pg (0.14.1)
polyglot (0.3.3)
prototype-rails (3.2.1)
pry (0.9.12)
puma (1.6.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.2)
rails (3.2.11)
railties (3.2.11)
rake (0.9.2.2)
rdoc (3.12)
ref (1.0.2)
ruby-oci8 (2.1.2)
ruby-plsql (0.5.0)
sass (3.2.5)
sass-rails (3.2.5)
slop (3.4.6)
sprockets (2.2.1)
therubyracer (0.11.4)
thor (0.16.0)
tilt (1.3.3)
treetop (1.4.12)
tzinfo (0.3.35)
uglifier (1.3.0)
will_paginate (3.0.2)
试用

 require 'will_paginate/active_record'

要加载特定的child,您可能需要通过Bundler跟踪在正常设置中哪些child将分页加载。。因为这样就不需要加载这些孩子了

你可以尝试使用
require'will\u paginate/active\u record'
我也遇到了同样的错误。但是我运行rails控制台,我会这样做:irb(main):001:0>需要'will_paginate/active_record'=>true irb(main):002:0>我需要加载我需要的will_paginate的所有孩子吗?我不确定是否所有孩子都需要。。也许你需要通过Bundler追踪孩子们在正常设置下会加载什么内容。。因为这样就不需要加载这些孩子..你的解决方案很好,但我在错误的地方加载了宝石,在inicializers中。加载gem的正确位置在config/application.rb的开头。Rais 3.2版之后的一些gem具有延迟加载,如果您需要后者,它们的加载效果不好。给你加油。
*** LOCAL GEMS ***

actionmailer (3.2.11)
actionpack (3.2.11)
activemodel (3.2.11)
activerecord (3.2.11)
activerecord-oracle_enhanced-adapter (1.4.1)
activeresource (3.2.11)
activesupport (3.2.11)
arel (3.0.2)
bigdecimal (1.1.0)
builder (3.0.4)
bundler (1.2.3)
coderay (1.0.5)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.4.0)
dbi (0.4.5)
deprecated (2.0.1)
erubis (2.7.0)
execjs (1.3.2)
fastercsv (1.5.0)
hike (1.2.1)
i18n (0.6.1)
io-console (0.3)
journey (1.0.4)
jquery-rails (2.1.4)
json (1.7.7)
libv8 (3.11.8.13 x86_64-linux)
libxml-ruby (2.1.0)
mail (2.4.4)
method_source (0.8.2)
mime-types (1.19)
minitest (3.2.0)
multi_json (1.7.2)
pg (0.14.1)
polyglot (0.3.3)
prototype-rails (3.2.1)
pry (0.9.12)
puma (1.6.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.2)
rails (3.2.11)
railties (3.2.11)
rake (0.9.2.2)
rdoc (3.12)
ref (1.0.2)
ruby-oci8 (2.1.2)
ruby-plsql (0.5.0)
sass (3.2.5)
sass-rails (3.2.5)
slop (3.4.6)
sprockets (2.2.1)
therubyracer (0.11.4)
thor (0.16.0)
tilt (1.3.3)
treetop (1.4.12)
tzinfo (0.3.35)
uglifier (1.3.0)
will_paginate (3.0.2)
 require 'will_paginate/active_record'