неопределенный метод, возвращающий для WillPaginate: Модуль - PullRequest
0 голосов
/ 11 декабря 2011

Я обновлял приложение Rails 2 до Rails 3, когда я выполняю rails console, оно выдает следующее:

$ rails c production
/usr/lib/ruby/gems/1.8/gems/will_paginate-2.3.12/lib/will_paginate.rb:39:in `enable_activerecord': undefined method `returning' for WillPaginate:Module (NoMethodError)
    from /usr/lib/ruby/gems/1.8/gems/will_paginate-2.3.12/lib/will_paginate.rb:88
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.18/lib/bundler.rb:120:in `require'
    from /home/neoriddle/proyectos/interkids/config/application.rb:7
    from /usr/lib/ruby/gems/1.8/gems/railties-3.0.9/lib/rails/commands.rb:21:in `require'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.0.9/lib/rails/commands.rb:21
    from script/rails:6:in `require'
    from script/rails:6

Как я могу решить это?

Ответы [ 2 ]

3 голосов
/ 11 декабря 2011

Обновление гема will_paginate.

Метод #returning устарел в пользу метода #tap.Похоже, что старая версия гема will_paginate, которую вы используете, все еще использует этот устаревший метод.

0 голосов
/ 12 декабря 2011

Да, это было правдой.

Вот мои данные ...

Я изменяю в Gemfile эту строку:

gem 'will_paginate', '2.3.12'

с этой строкой:

gem 'will_paginate', '>=3.0.pre'

Затем я обновляю Gemfile.lock этим:

bundle update will_paginate

И я получаю это:

$ bundle update will_paginate
Fetching source index for http://rubygems.org/
...
Installing will_paginate (3.0.2) 
Updating .gem files in vendor/cache
  * will_paginate-3.0.2.gem
Removing outdated .gem files from vendor/cache
  * will_paginate-2.3.12.gem
Your bundle is updated! Use `bundle show [gemname]` to see where a bundled gem is installed.

и эта ошибка была устранена.

...