我有一份登记表;创建帐户后,我想根据原始注册表单上的隐藏字段选择用户重定向到的位置。我不是将这个字段存储在数据库中。
我应该采用什么策略?
答案 0 :(得分:0)
您的隐藏字段应作为参数传递给您的控制器。您可以使用以下内容访问它:
params[:hidden_field_name]
如果在ApplicationController中定义after_sign_up_path_for(resource),则应该能够使用该参数来相应地重定向用户:
def after_sign_up_path_for(resource)
if params[:hidden_field_name] == "example"
example_path # as defined in config/routes.rb
elsif params[:hidden_field_name] == "example2"
example2_path
end
end
您可以在此处查看第15-29行和第86-88行,了解更多信息:https://github.com/plataformatec/devise/blob/master/app/controllers/devise/registrations_controller.rb