根据隐藏字段设计注册后重定向?

时间:2012-01-30 13:18:20

标签: ruby-on-rails devise

我有一份登记表;创建帐户后,我想根据原始注册表单上的隐藏字段选择用户重定向到的位置。我不是将这个字段存储在数据库中。

我应该采用什么策略?

1 个答案:

答案 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