2017-10-18 2 views
1

Wenn Devise Nutzer sich, ich brauche ihn im Hinblick auf umleiten, wo er wählen kann, welche Art von Benutzer er sein will, wie:Devise - umleiten Benutzersicht zu intervenieren, nachdem unterzeichnet

link_to 'TypeA', new_type_a_path.

link_to 'TypeB', new_type_b_path.

link_to 'TypeC', new_type_c_path.

Wie konfiguriere ich diese Route? Ich weiß, dass ich verwenden kann:

class Users::RegistrationsController < Devise::RegistrationsController 
    protected 
    def after_sign_up_path_for(resource) 
     signed_in_root_path(resource) 
    end 

Aber es ist schon eine Weile ich mit RoR gearbeitet, so mich nicht erinnern - sollte ich einen Controller nur für diese Ansicht erstellen?

Antwort

1

Sie können eine Ansicht erstellen, in der Sie Ihre drei Links in der Reihenfolge platzieren, in der der Benutzer auswählen kann.

Die after_sign_up_path_for Helper-Methode ermöglicht es Ihnen, eine URI oder eine Route Präfix angeben, so dass Sie einen Eintrag für diese Ansicht erstellen und es in diesem Verfahren verwendet werden, wie:

# views/registrations/choices.html.erb 
<%= link_to 'TypeA', new_type_a_path %> 
<%= link_to 'TypeB', new_type_b_path %> 
<%= link_to 'TypeC', new_type_c_path %> 

# config/routes.rb 
get 'choose', to: 'registrations_controller#choices', as: :choices 

# registrations_controller.rb 
def after_sign_up_path_for(resource) 
    choices_path 
end 
Verwandte Themen