设计登记表

时间:2014-04-21 06:25:26

标签: ruby-on-rails ruby ruby-on-rails-3 devise

我在Ruby on rails网站上使用了两种设计形式...如何为两种设计形式设置不同的路径路径..我试图覆盖after_sign_up_path ..但两种形式都被重定向到相同的路径..

我想为每个表单设置不同的路径。

注册控制器

class Registrations Controller < Devise::Registrations Controller
  protected

  def after_sign_up_path_for(resource)
    'root_path'
  end
end

3 个答案:

答案 0 :(得分:2)

此方法在注册成功时调用,因此请在此处设置您的注册后路径

 def after_sign_up_path_for(resource)
      if resource.invitation_type == "first" (please replace with actual invitation type here)
        user1_path(replace with actual path) 
      elsif resource.invitation_type == "second" (please replace with actual invitation type here)
       user2_path(replace with actual path)
      else
        root_path
      end
    end

希望这有帮助!

答案 1 :(得分:0)

在应用程序控制器内部,输入after_sign_up_path_for路径

的代码
#put these code inside applications_controller
def after_sign_up_path_for
   if #{your_specific_condition}

   else
    root_path
   end
end

答案 2 :(得分:0)

您必须知道,如果您想覆盖注册控制器,则必须include the new controller in your routes

#config/routes.rb
devise_for :users, :controllers => {:registrations => "registrations"}