0
사용자가 인증되고 생성 될 때 Twitter 또는 Facebook에서 수집 한 사용자 이름을 전달하려고 시도하지만 간단한 (description = user.username)이 보이지 않습니다. 그것을하기 위해, 여기 내가 지금까지 가지고있는 것이 있습니다.omniauth에서 사용자 이름을 스트라이프 고객에게 전달하는 방법
def self.create_from_omniauth(auth)
create! do |user|
user.provider = auth["provider"]
user.uid = auth["uid"]
user.username = auth["info"]["nickname"]
#user.email = auth["info"]["email"]
user.save!
if user.save
Stripe::Customer.create(description = user.username)
end
user
end
end
@ user.username 또는 current_user.username을 사용해도 다음 오류가 계속 발생합니다.
undefined method `each' for "xhtmlit":String
아마도 'if' 블록 밖으로 이동하고 싶을 것입니다. 그것은 불필요하게 데이터베이스를 두 번 저장하는 것을 망칠 것입니다. 아무 것도하지 않습니다.'save! '가 실패하면 예외가 발생하고 절대 블록을 공격하지 않습니다. 'save! '가 성공하면 if는 항상 true로 평가됩니다. – colinm