2011-12-16 39 views
1

我有一個用戶模型,它有很多字段(比如本例中爲30)。當用戶註冊時,我只填寫前10個。一旦他們登錄並且他們想完成他們的信息,他們有兩頁讓他們完成剩下的工作(一頁處理11-20,另一頁處理21 -30)。跨多個頁面的Rails模型驗證

因此,當他們打到處理11-20的第一頁時,我想確保他們填寫所有字段(他們不應該只選擇回答其中的3個,並將其餘的「請選擇」 )。

處理21-30的第二頁相同的東西。

什麼是最好的處理方法?我正在使用rails 3.1和activerecord。如果我做了一些簡單的事情,比如將以下內容添加到我的模型中,我不能在沒有填寫所有字段的情況下創建用戶(「驗證:user_summary,:presence => true」)。

謝謝!

+0

[這個計算器等線索] [1]可能有助於 [1]:http://stackoverflow.com/questions/2603464/how-to-create-wizard-forms-in-ruby- on-rails – leonardoborges 2011-12-16 13:55:32

+0

我有一個想法是創建兩個模型。一個爲用戶。另外一個用於用戶額外和非初步信息。因此,在2-3頁中,您的模型中有驗證要求。不知道這是否是最好的主意,儘管如此,評論。 – Trip 2011-12-16 13:55:50

回答

3

我認爲你可以實現一個多步表單(aka wizard)來處理這種類型的問題。

瑞恩·貝茨做了一個偉大的教程關於這個問題

Multistep form tutorial

很可能有一些寶石在那裏爲多級形式

另一種解決方案是實現部分validation.You可以去鏈接這是一篇關於這個話題的博文。

Partial validation blog post

希望這將有助於上手。