MongoMapper: неопределенный метод `each 'для" StandardFormBuilder ": String - PullRequest
0 голосов
/ 12 июня 2011

Я использую MongoMapper с Padrino, и у меня возникают проблемы с выполнением любых padrino задач. Я получаю эту ошибку почти для каждой задачи.

ethan@tardis:/var/www/sakura$ padrino rake -T
=> Executing Rake -T ...
/home/ethan/.rvm/gems/ruby-1.9.2-head/gems/mongo_mapper-0.8.6/lib/mongo_mapper/plugins/modifiers.rb:19:in `set': undefined method `each' for "StandardFormBuilder":String (NoMethodError)
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-helpers-0.9.29/lib/padrino-helpers.rb:33:in `registered'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/sinatra-1.2.6/lib/sinatra/base.rb:1200:in `block in register'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/sinatra-1.2.6/lib/sinatra/base.rb:1198:in `each'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/sinatra-1.2.6/lib/sinatra/base.rb:1198:in `register'
    from /var/www/sakura/app/app.rb:3:in `<class:Sakura>'
    from /var/www/sakura/app/app.rb:1:in `<top (required)>'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/reloader.rb:128:in `require'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/reloader.rb:128:in `safe_load'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:140:in `block in require_dependencies'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:138:in `each'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:138:in `require_dependencies'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/mounter.rb:125:in `locate_app_object'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/mounter.rb:21:in `initialize'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/mounter.rb:189:in `new'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/mounter.rb:189:in `mount'
    from /var/www/sakura/config/apps.rb:34:in `<top (required)>'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/reloader.rb:128:in `require'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/reloader.rb:128:in `safe_load'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:140:in `block in require_dependencies'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:138:in `each'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:138:in `require_dependencies'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:56:in `block in load!'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:56:in `each'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/loader.rb:56:in `load!'
    from /var/www/sakura/config/boot.rb:29:in `<top (required)>'
    from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/cli/base.rb:51:in `block in rake'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/cli/base.rb:130:in `capture'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/lib/padrino-core/cli/base.rb:51:in `rake'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/padrino-core-0.9.29/bin/padrino:8:in `<top (required)>'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/bin/padrino:19:in `load'
    from /home/ethan/.rvm/gems/ruby-1.9.2-head/bin/padrino:19:in `<main>'

Я пробовал это с несколькими версиями Ruby, с похожими результатами. Это ошибка с Sinatra, MongoMapper или как?

1 Ответ

2 голосов
/ 13 июня 2011

Кажется, проблема с ActiveSupport.

Добавьте в свой гемфайл:

gem "mongo_mapper", "~> 0.9.1"
...