Помощь Использование Devise со встроенной поддержкой Omniauth

Я пытался следовать https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview , но почему-то, когда я смотрю на сгенерированные маршруты, я вижу только путь обратного вызова, а не путь авторизации (и действительно, я получаю ошибку в представлении со ссылкой user_omniauth_authorize_path).

Я предполагаю, что это может быть проблема версий OmniAuth и Devise (, поскольку после 0.2.0.beta Omniath позволяет настраивать параметры, и маршруты должны быть определены ). Однако при попытке использовать старую версию OmniAuth я получаю сообщение об ошибке « Вы используете старую версию OmniAuth, убедитесь, что установлена ​​версия 0.2.0.beta или более поздняя. ».

Я пробовал работать с Devise master, 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 не может найти сопоставление. Как ни странно, изменение контроллера в devise_for на недействительный (например, добавление '/' перед users / omniauth_callbacks) привело к ошибке в первый раз («Имя контроллера не должно начинаться с косой черты»), но на самом деле отправлена ​​небольшая перезагрузка меня на facebook и обратно (но, естественно, маршрут обратного вызова не был определен)

Я новичок в Ruby и не совсем уверен, куда мне идти дальше. Любая помощь будет принята с благодарностью.

8
задан krakover 2 March 2011 в 19:23
поделиться