Rails: сообщение об ошибке при попытке установить гем - PullRequest
1 голос
/ 14 февраля 2012

Я пытаюсь установить (отличный) гем Ruby под названием Forem https://github.com/radar/forem, он выдает ошибку для модуля WillPaginate. Я предполагаю, что Forem использует гем will_paginate, хотя я не вижу его в своем Gemfile

Этот гем Forem (который является приложением форума) обычно работает для меня, но на этот раз я комбинирую его с другим (замечательным) гемом Enki (для ведения блогов), который также использует will_paginate https://github.com/xaviershay/enki/blob/master/Gemfile. Enki обычно работает приложение 3.0, но я прошел обновление 3.1, поэтому оно должно быть, по крайней мере в этом отношении, совместимым с Forem, который также является приложением 3.1.

Это сообщение об ошибке, которое я получаю, когда пытаюсь установить Forem с этой коммандой

 rails g forem:install

Кто-нибудь знает, как я могу попытаться это исправить?

Error

   .rvm/gems/ruby-1.9.2-p290@devise311/bundler/gems/forem-02eecd37cacc/config/initializers/will_paginate.rb:5:in `alias_method': undefined method `per_page' for module `WillPaginate::ActiveRecord::RelationMethods' (NameError)
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/bundler/gems/forem-02eecd37cacc/config/initializers/will_paginate.rb:5:in `<module:RelationMethods>'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/bundler/gems/forem-02eecd37cacc/config/initializers/will_paginate.rb:4:in `<module:ActiveRecord>'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/bundler/gems/forem-02eecd37cacc/config/initializers/will_paginate.rb:3:in `<module:WillPaginate>'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/bundler/gems/forem-02eecd37cacc/config/initializers/will_paginate.rb:2:in `<top (required)>'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `block in load'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/engine.rb:556:in `block (2 levels) in <class:Engine>'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/engine.rb:555:in `each'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/engine.rb:555:in `block in <class:Engine>'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `instance_exec'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `run'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/initializable.rb:55:in `block in run_initializers'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `each'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `run_initializers'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/application.rb:96:in `initialize!'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
        from /Users/mm/Sites/enki31/config/environment.rb:5:in `<top (required)>'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
        from /Users/mm/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/application.rb:83:in `require_environment!'
        from /Users/mmell/.rvm/gems/ruby-1.9.2-p290@devise311/gems/railties-3.1.3/lib/rails/commands.rb:22:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

Обновление

Config / initializers / will_paginate.rb

Этот код является частью драгоценного камня Forem https://github.com/radar/forem/blob/master/config/initializers/will_paginate.rb,

if defined?(WillPaginate)
  module WillPaginate
    module ActiveRecord
      module RelationMethods
        alias_method :per, :per_page
        alias_method :num_pages, :total_pages
      end
    end
  end
end
...