Omniauth gemini kullanarak, sağlayıcıdan bağımsız olarak, başarılı girişler için tek bir rota geri çağırma tanımlamak zorundayım:Raylar: hemen çıkın ve çıkın
def auth_callback
auth_data = request.env['omniauth.auth']
if auth_data.has_key('something')
process_one(auth_data)
else
process_two(auth_data)
end
# No view is available here
end
def process_one
# do something then render view for process_one
return
end
def process_two
# do something then render view for process_two
return
end
Denetleyicinin auth_callback yöntemine dönmesini nasıl engelleyebilir ve ilgili görünümü görüntülemeye çalışıyorum (var olmayan)? İşlem_one veya process_two yöntemleri geri döndükten sonra tedavi tamamlanmış olarak düşünülmelidir.
"process_one" ve "process_two" yöntemlerinde kod yolu var mı? Eğer render etmeye çalışabilirseniz: hiçbir şey => true veya başka bir şey var –
"if (x) render: process_one else render: process_two" in auth_callback, ama oldukça doğal değil: ben process_one ve process_two güvenmek yerine kendi görüşlerini oluşturmak. –
Eğer bir yere 'dönüş' yazıyorsanız (ya da '(eğer bir şey varsa geri dön)' koduna sahip olursunuz. Raylar varsayılan eylem görünümünü görüntülemeye çalışırdı –