OmniAuth не добавляется в базу данных - PullRequest
1 голос
/ 22 февраля 2011

Итак, я пытаюсь встроить omniauth в свой веб-пакет:

Omni-Auth вызывается из SessionsController

class SessionsController < ApplicationController
  def create
    auth = request.env["omniauth.auth"]
    user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)  
    cookies.permanent.signed[:user_id] = user.id
    redirect_to assignment_path
  end
end

И затем пользователи добавляются в БД в модели User

class User < ActiveRecord::Base
  def self.create_with_omniauth(auth)
    create! do |user|
      user.name = auth["user_info"]["name"]
      user.picture = auth["user_info"]["profile_image_url"]
      user.screen_name = auth["user_info"]["screen_name"]
      user.provider = auth["provider"]
      user.uid = auth["uid"]
    end
  end
end

Имя, uid и провайдер добавляются в БД, но, к сожалению, изображение и имя экрана не добавляются в БД.

Может ли кто-нибудь помочь?

1 Ответ

0 голосов
/ 22 февраля 2011

Проблема решена.

Я обращался к хешу, используя неверные параметры.

...