Я запустил bundle exec rake db: migrate и имею 2 базы данных. Я также использую SQLite в разработке.
Я получаю следующую ошибку при переходе на http://localhost:3000/auth/facebook:
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.[]
Он указывает на этот код в app / controllers / session_controller.rb: 12: в `create '
:
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
Я думаю, это означает, что мой массив информации пуст и сводит меня к тому, что данные не сохраняются в моей базе данных.
Кстати, я на шаге 6 после http://net.tutsplus.com/tutorials/ruby/how-to-use-omniauth-to-authenticate-your-users/