当Devise用户注册时,我需要将他重定向到一个视图,在那里他可以选择他想成为什么样的用户,例如:
link_to 'TypeA', new_type_a_path
。
link_to 'TypeB', new_type_b_path
。
link_to 'TypeC', new_type_c_path
。
如何配置这条路线?我知道我可以使用:
class Users::RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
signed_in_root_path(resource)
end
但是我曾经和RoR合作过一段时间,所以不记得了 - 我应该为这个视图创建一个控制器吗?
答案 0 :(得分:1)
您可以创建一个视图,按照用户可以选择的顺序放置三个链接。
after_sign_up_path_for
帮助器方法允许您指定URI或路由前缀,因此您可以为该视图创建条目并在该方法中使用它,如:
# 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