Я следовал за официальной вики устройства, чтобы интегрировать устройство с Facebook через omniauth.
Я могу войти в свою учетную запись Facebook, но каким-то образом я не могу сохранить дополнительные данные из обратного вызова Facebook omniauth.
Обратите внимание, что я буквально скопировал все на это руководство
Пожалуйста, посмотрите на моего текущего пользователя. Rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:omniauthable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me,
:fb_raw
def self.find_for_facebook_oauth(access_token, signed_in_resource=nil)
data = access_token.extra.raw_info
if user = User.where(:email => data.email).first
user
else # Create a user with a stub password.
User.create!(:email => data.email, :password => Devise.friendly_token[0,20])
end
end
def self.new_with_session(params, session)
super.tap do |user|
if data = session["devise.facebook_data"] && \
session["devise.facebook_data"]["extra"]["raw_info"]
# Here you can save all the info you want including networks and education
user.email = data["email"]
user.fb_raw = data['raw_info']
end
end
end
end
Проблема в том, что я.new_with_session никогда не вызывается .Я поместил предложение об исключении броска прямо перед super.tab
, чтобы доказать эту гипотезу.
Кто-нибудь знает работу вокруг этого?