번들 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 내가 좋아 http://net.tutsplus.com/tutorials/ruby/how-to-use-omniauth-to-authenticate-your-users/
수정 했습니까? 나는 똑같은 문제를 겪고있다. – John
난 그 사이트에서 소스 애플 리케이션을 다운로드하고 몇 가지 물건을 수정하고 내 자신의 애플 리케이션 키를 넣어 등이 작업을 가지고있어. 실제 거래가 튜토리얼과 무엇인지 모르지만, 예제 애플 리케이션을 조정하면 나를 위해 일했다. – John
감사합니다. 의견과 해결책에 감사드립니다. 내가 꽤 바빴던 이래로 일하게하지는 않았지만, 조직적인 방식으로 특정 변수를 포함하지 않는 Facebook의 사용자 정보 해시와 같은 이상한 것을 발견했습니다. – Tony