0

Я пытаюсь передать имя пользователя, которое собирается из Twitter или facebook, когда мои пользователи получают аутентификацию и создание, однако простой (description = user.username) не кажется чтобы сделать это, вот что у меня есть до сих пор;как передать имя пользователя от omniauth для stripe customer create

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 

ответ

0

Я полностью ошибался, поэтому он выплевывал ошибку для меня. Фактический код может быть не чистым, но в настоящее время я пытаюсь выяснить, начиная с грязной версии, чтобы очистить версию. Вот что я до сих пор работаю;

if user.save 
     Stripe::Customer.create(:email => user.username) 
end 
+0

Возможно, вы захотите перенести это из блока 'if'. Это будет бесполезно забивать базу данных, делающую двойное сохранение, и это ничего не делает - если «save!» Терпит неудачу, это вызовет исключение, и вы никогда не ударите свой блок. Если 'save !' будет успешным, ваш if всегда будет оценивать значение true. – colinm

 Смежные вопросы

  • Нет связанных вопросов^_^