簡體   English   中英

rails devise-多個注冊網址

[英]rails devise - multiple register url

最初,我為一種類型的用戶使用了設計注冊。 工作得很好,但現在我加2個具體路線register/users的拉姆達用戶和register/pro專業。

這兩個路由使用相同的模型用戶,只是更改了表單視圖。

但是,當我提交表單時,如果失敗,我將重定向到/users/並且沒有其他內容。

為此,我已經這樣做了:

get '/register', to: 'devise/registrations#new', as: :register # original version
# and added :
get '/register/users', to: 'devise/registrations#new', as: :register_users
get '/register/professional', to: 'devise/registrations#new', as: :register_pro

但是,就像我說的,如果表格填寫不正確,則只能追加到/users/

所以我也嘗試添加這個:

post '/register/users' => 'devise/registrations#create', :as => :register
post '/register/professional' =>   'devise/registrations#create', :as => :register

但結果相同。

我做錯事了,有人想嗎?

謝謝 !

編輯:

目前,問題在於,如果公式填寫不正確, ./users重定向到./users而不是register/users 但是如果成功,它就可以了。

您需要在Controller(通常是ApplicationController)中覆蓋after_sign_up_path_for

def after_sign_up_path_for(resource)
  if resource.type == :pro # please modify this line
    some_your_path
  else
    super # this will be /users/
  end
end

我假設您有User模型。 那么這個resource就是用戶對象。 我假設您在用戶模型中有一些屬性可以查找專業/非專業人士。 請將該屬性用於'if'語句並編寫路徑。

如果使用Confirmable,則需要覆蓋after_inactive_sign_up_path_for而不是after_sign_up_path_for

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM