Неинициализированная константа Пользователи / Добавление омниаутов на страницу

Так что у меня проблема с обратными вызовами. Пользователь может успешно щелкнуть ссылку 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

редактировать: изображение ошибки

0 ответов

Другие вопросы по тегам