Я запустил пакет exec rake db: migrate и имею 2 базы данных. Я также использую SQLite в разработке. я получаю следующее сообщение об ошибке, когда я иду в http://localhost:3000/auth/facebook:Onmiauth-Facebook не сохраняет facebook_id для таблицы пользователей
You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.[]
Он указывает на этот код в приложение/контроллеры/sessions_controller.rb: 12: в `создать» :
def create
auth_hash = request.env['omniauth.auth']
@authorization = Authorization.find_by_provider_and_uid(auth_hash["provider"], auth_hash["uid"])
if @authorization
render :text => "Welcome back #{@authorization.user.name}! You have already signed up."
else
######line 12-> user = User.new :name => auth_hash["user_info"]["name"], :email => auth_hash["user_info"]["email"]
user.authorizations.build :provider => auth_hash["provider"], :uid => auth_hash["uid"]
user.save
render :text => "Hi #{user.name}! You've signed up."
end
end
Я думаю, это означает, что мой массив информации пуст, и сужает меня до такой причины, что данные не сохраняются в моей базе данных.
Btw, я на шаге 6 следующая http://net.tutsplus.com/tutorials/ruby/how-to-use-omniauth-to-authenticate-your-users/
ли вы когда-нибудь это исправить? У меня такая же проблема. – John
Я только что получил эту работу, загрузив исходное приложение с этого сайта и исправляя некоторые вещи и добавляя в свои собственные ключи приложения и т. Д. Не уверен, какова фактическая сделка с учебником, но настройка приложения для примера работала для меня. – John
Спасибо, Джон. Я ценю отзывы и решение. Я не получил работу, так как я был довольно занят, но я нашел несколько странных вещей, таких как хэш-информация пользователя Facebook, не включающая определенные переменные организованным образом. – Tony