내 레일 앱은 devin/omniauth를 사용하여 링크드 인 자격 증명을 사용하여 사이트에 새 사용자를 등록합니다.devise & omniauth를 사용한 2 단계 등록
제대로 작동하지만 두 번째 단계를 등록 프로세스에 추가하여 새 사용자가 사이트의 사용자 이름과 암호를 선택할 수 있도록하고 싶습니다.
나는 등록 절차를 완료의 new_user_registration_url을 고안 사용자를 리디렉션 시도했다, 그러나 말하는 오류 메시지가 내가 새 사용자를 만들려고하고있다 것처럼 리디렉션을 처리하고, 다시 맞이할 :
여기이 오류를 저장되는이 사용자를 금지 :
비밀번호
사용자 이름은 비워 둘 수 없습니다 비워 둘 수 없습니다
내 omniauth_callbacks_controller.rb입니다 :
사람이 나는이 두 단계의 등록 절차를 만들기 위해 여기에서 진행할 수있는 방법을 알고 있나요
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def all
user = User.from_omniauth(request.env["omniauth.auth"])
if user.encrypted_password.blank? || user.user_name.blank?
session["devise.user_attributes"] = user.attributes
redirect_to new_user_registration_url, :validate => false
else
if user.persisted?
flash[:success] = "Signed in!"
if user.role == "admin"
sign_in user
redirect_to admin_path
else
sign_in_and_redirect user
end
else
session["devise.user_attributes"] = user.attributes
redirect_to new_user_registration_url
end
end
end
alias_method :linkedin, :all
?
Devise :: RegistrationsController에서 상속 한 RegistrationsController를 만들었습니까? 그게 여기에없는 것 같아요. 그랬다면 질문을 편집하여 그 컨트롤러를 보여주십시오. – Ashitaka
나는하지 않았다. 예제를 볼 수있는 온라인 리소스가 있습니까? – dmanaster
그래. Railscast의 마법의 세계를 소개해 드리겠습니다. ** [OmniAuth Part 2] (http://railscasts.com/episodes/236-omniauth-part-2) **. ** [OmniAuth Part 1] (http://railscasts.com/episodes/235-omniauth-part-1) **을 즐기실 수도 있습니다. 그러나 파트 2는 귀하의 질문과 관련된 것입니다. – Ashitaka