0

我知道有關於這個主題的多個線程,並閱讀了他們,但我仍然無法找到適合我的情況的最佳方法。我有一個用戶模型,我正在使用Devise進行身份驗證。我使用了很多爲我的用戶模型添加了大約20列的設計模塊。我想要做的是添加一個單獨的配置文件模型,它將有大約18列。在Rails中創建和管理用戶和配置文件模型

問題在於註冊後,Devise Confirmable模塊將他重定向到HOME頁面,並向他的電子郵件發送確認鏈接。一旦他確認他被帶到應該顯示他的個人資料信息的用戶顯示頁面。

我想確保用戶在他能夠在網站上做任何事情之前填寫他的個人資料信息。所有配置文件字段(其中約18個)從授權角度來看是強制性的,並且是決定他可以做什麼和不能做什麼的關鍵。我不知道如何去做這件事?

1)我應該只是有一個用戶模型(這將意味着用戶表中的40列)並創建一個多步表單? 2)我應該有一個用戶模型和配置文件模型? 3)如果是這樣,我怎麼能讓用戶填寫他的個人資料信息之前,他確認他的帳戶或之後? 4)我是否也需要配置文件控制器?我不知道從哪裏開始!

回答

2

其實它很簡單。您可以爲用戶和配置文件設置不同的模型。如果用戶填寫了他的個人資料信息(如user.profile.nil?),您需要有一些標記機制。現在您只需創建一個before filter方法,如果用戶沒有該方法,該方法將重定向用戶創建配置文件頁面。

+0

好的,我已經設置好了,以便用戶在註冊並登錄時重定向到創建配置文件頁面。如何確保用戶在他的配置文件保存之前無法在網站上執行任何操作? – pratski

+1

之前過濾器應該這樣做。因此,無論何時調用任何控制器方法,before過濾器將首先執行,然後根據狀態,用戶將被重定向或允許執行該操作。 –

相關問題