Кстати, если вы сталкиваетесь с этой проблемой и комбинируете Devise 2.1.x с OmniAuth 1.x и OAuth2, помните, что в настоящее время рекомендуется использовать /users/auth/facebook
(то есть каталог в ваших контроллерахsaid, 'users/
') ...
Соответственно, вам нужно нажать /users/auth/facebook
, хотя почти все учебные пособия, примеры и руководства для OmniAuth говорят, что нужно нажать /auth/facebook
!Это (в сочетании с тем фактом, что Facebook не будет обновлять URL моего сайта до тех пор, пока я не добавлю порт # :3000
, не сохраню, не распространю и не ударую его, а затем снова не смог его удалить), поставило меня в тупик на время, которое останется невысказанным., чтобы защитить огорченных.: -)
Кроме того, в отличие от ответа с большинством голосов прямо сейчас - который, конечно, решает проблему, но не позволяет интегрироваться с Devise - я этого не делалнеобходимо удалить :omniauthable
из Devise (как только я нажал правильный URL).Это только «вызывает конфликты» для меня, когда я использовал неправильный URL.
РЕДАКТИРОВАТЬ: Кроме того, в отличие от исходного вопроса, с Devise 2.1.x и OmniAuth 1.x, насколько я знаю, одинне нужно создавать инициализатор omniauth.rb
для Rack - с Devise вы просто добавляете свои биты OmniAuth в config/initializers/devise.rb
(но не уверены на 100% в этом).См. plataformatec / devise Обзор OmniAuth в разделе пример Facebook в верхней части, для более подробной информации.