我在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
答案 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"}