Я новичок в Rails3 и Ruby в целом, но у меня может возникнуть проблема с самим плагином Ruby oauth.Я пытаюсь использовать потребительскую часть логики для авторизации моего веб-приложения с учетной записью пользователя в Twitter.Все настроено так, что я перенаправлен в Twitter для авторизации, но когда пользователь перенаправляется обратно в мое приложение, я получаю сообщение об ошибке при сохранении токена в базе данных MongoDB:
Mongoid::Errors::Validations in Oauth consumersController#callback
Validation failed - Client application can't be blank.
После просмотра кода инфраструктуры я вижу, что класс Token ожидает, что client_application_id будет иметь значение, но я не думал, что токен потребителя должен быть связан с моделью ClientApplication?
обратите внимание, что я использую последнюю ветвь oauth-plugin, которая включает исправления 3en для mongoid, и единственный способ заставить модели работать - это использовать 'referenced_in' вместо 'embedded_in'.Что я тут не так делаю?
Заранее спасибо,
Роб
Трассировка приложения:
app/models/consumer_token.rb:25:in `find_or_create_from_access_token'
app/controllers/oauth_consumers_controller.rb:16:in `callback'
Частичная полная трассировка:
vendor/ruby/1.8/gems/mongoid-2.0.0.rc.7/lib/mongoid/persistence.rb: 234:in `fail_validate!'
vendor/ruby/1.8/gems/mongoid-2.0.0.rc.7/lib/mongoid/persistence.rb: 75:in `save!'
vendor/ruby/1.8/gems/mongoid-2.0.0.rc.7/lib/mongoid/relations/referenced/many.rb:90:in `create!'
vendor/ruby/1.8/gems/simple_oauth-0.1.4/lib/simple_oauth/core_ext/object.rb:6:in `tap'
vendor/ruby/1.8/gems/mongoid-2.0.0.rc.7/lib/mongoid/relations/referenced/many.rb:89:in `create!'
app/models/consumer_token.rb:25:in `find_or_create_from_access_token'
vendor/ruby/1.8/bundler/gems/oauth-plugin-f805e8c359b1/lib/oauth/models/consumers/token.rb:38:in `find_or_create_from_request_token'
vendor/ruby/1.8/bundler/gems/oauth-plugin-f805e8c359b1/lib/oauth/controllers/consumer_controller.rb:35:in `callback'
app/controllers/oauth_consumers_controller.rb:16:in `callback'``