簡體   English   中英

使用devise / cancan進行不同的注冊過程,但只有一個用戶模型?

[英]Different registration process with devise / cancan but only one User model?

到目前為止,我一直試圖使用設計允許2個不同的注冊路徑到同一個用戶模型。

我的用戶模型鏈接到其他數據模型,但在注冊時我並不關心。 但我仍然希望“顯示”用戶的差異(網址路徑,外觀和感覺等)加上當然我想在用戶模型中保存我的用戶所用的用戶類型,以便稍后再回來指出並詢問我需要填寫我的其他模型(鏈接到用戶)。

我已經探索了改寫我自己的注冊控制器的道路,但是我不知道這對路線有什么幫助...我想要像:/ usertype1 / signup和/ usertype2 / signup虛擬更多比2個usertypes,但最后它應該只創建最簡單的用戶模式(電子郵件,密碼,確認,usertype)。

在這一點上歡迎任何建議:)

亞歷克斯

我最后做的是必須將自定義路由指向同一個注冊頁面:

devise_for :users, :controllers => { :registrations => "registrations" } do
  get '/author/sign_up', :to => 'registrations#new'
  get '/client/sign_up', :to => 'registrations#new'      
end

然后在注冊頁面上,我只需添加一個隱藏字段,其值根據url更改:

- if request.fullpath =~ /\/author\/sign_up/
  - session[:registration] = "author"
  = render 'author'
- elsif request.fullpath =~ /\/client\/sign_up/
  - session[:registration] = "client"
  = render 'client' '   

所以我可以在注冊時呈現2個不同頁面的外觀。 這可以與X不同類型的用戶一起使用。

亞歷克斯

暫無
暫無

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

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