Я попытался следовать https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview, но почему-то, когда я смотрю на сгенерированные маршруты, я вижу только путь обратного вызова, а не путь авторизации (и действительно я получаю ошибку в представлении со ссылкой user_omniauth_authorize_path).
Я предполагаю, что это может быть проблема версий OmniAuth и Devise (после 0.2.0. бета-версия Omniath позволяет настраивать параметры, а маршруты должны быть определены). Однако при попытке использовать более старую версию OmniAuth я получаю сообщение об ошибке «You are using an old OmniAuth version, please ensure 0.2.0.beta or later installed.
».
Я пытался работать с мастером Devise, 1.2.rc и веткой omniauth, а также со всем геммом omniauth (после 0.2.0.beta) и с «oa-oauth», но безуспешно. Я также попытался определить маршрут:
match '/users/auth/:action/', :to => 'users/omniauth_callbacks#action', :as => 'user_omniauth_authorize'
Это помогло с маршрутом, но при нажатии на ссылку я получил ошибку, что устройство не может найти сопоставление. Достаточно забавно, изменение контроллера в devise_for на недопустимый (например, добавление '/' перед пользователями/omniauth_callbacks) привело к ошибке в первый раз ("Имя контроллера не должно начинаться с косой черты"), но на самом деле была отправлена небольшая перезагрузка меня в фейсбук и обратно (но, естественно, маршрут обратного вызова не был определен).
Я новичок в Ruby и не совсем уверен, куда идти дальше. Любая помощь будет оценена.