Когда я создаю новую учетную запись через Google, электронная почта сохраняется в моей записи пользователя. Когда я создаю пользователя через твиттер, столбец электронной почты остается пустым. Я хотел бы обновить эту запись, если пользователь связывает свою текущую учетную запись в Twitter с Google.
в моей модели пользователя:
def self.create_from_hash!(hash)
create! do |user|
user.name = hash['user_info']['name']
user.email = hash['user_info']['email']
end
end
В сессиях контроллер:
def create
auth = request.env['rack.auth']
unless @auth = Authorization.find_from_hash(auth)
@auth = Authorization.create_from_hash(auth, current_user)
end
self.current_user = @auth.user
flash[:notice] = "Welcome, #{current_user.name}."
redirect_to '/'
end
и в модели авторизации:
def self.create_from_hash(hash, user = nil)
user ||= User.create_from_hash!(hash)
Authorization.create(:user => user, :uid => hash['uid'], :provider => hash['provider'])
end
Как я могу обновить этот столбец при добавлении метода авторизации?