Неинициализированная константа Пользователи / Добавление омниаутов на страницу
Так что у меня проблема с обратными вызовами. Пользователь может успешно щелкнуть ссылку facebook/google+/github на моей странице, и он берет их в свою учетную запись для входа. Проблема заключается в том, что, когда они нажимают подтвердить, я получаю ошибку маршрутизации.
route.rb:
root 'users#index'
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
callbacks_controller.rb:
def github
@users = User.from_omniauth(request.env["omniauth.auth"])
sign_in_and_redirect_to @user
end
def google_oauth2
@users = User.from_omniauth(request.env["omniauth.auth"])
sign_in_and_redirect @users
if @users.persisted?
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Google"
sign_in_and_redirect @users, :event => :authentication
else
session["devise.google_data"] = request.env["omniauth.auth"]
redirect_to new_user_registration_url
end
def facebook
@users = User.from_omniauth(request.env["omniauth.auth"])
sign_in_and_redirect @users, :event => :authentication
end
end
end
Мой пользовательский контроллер имеет индекс def, чтобы показать ссылку на index.html.erb
<%= link_to "Facebook", user_facebook_omniauth_authorize_path %>
<%= link_to "Google+", user_google_oauth2_omniauth_authorize_path %>
<%= link_to "Github", user_github_omniauth_authorize_path %>
route.rb:
user_github_omniauth_authorize GET|POST /my_engine/users/auth/:provider/callback/github(.:format) users/omniauth_callbacks#passthru
user_github_omniauth_callback GET|POST /my_engine/users/auth/:provider/callback/github/callback(.:format) users/omniauth_callbacks#github
user_google_oauth2_omniauth_authorize GET|POST /my_engine/users/auth/:provider/callback/google_oauth2(.:format) users/omniauth_callbacks#passthru
user_google_oauth2_omniauth_callback GET|POST /my_engine/users/auth/:provider/callback/google_oauth2/callback(.:format) users/omniauth_callbacks#google_oauth2
user_facebook_omniauth_authorize GET|POST /my_engine/users/auth/:provider/callback/facebook(.:format) users/omniauth_callbacks#passthru
user_facebook_omniauth_callback GET|POST /my_engine/users/auth/:provider/callback/facebook/callback(.:format) users/omniauth_callbacks#facebook
редактировать: изображение ошибки