2015-08-24 33 views
0

我有一個Web應用程序,用戶可以在其中創建課程,然後在課程後記錄信息,如出席情況。他們需要能夠在實際發生之前創建課程,但之後需要信息。如何執行與模型分開的表單驗證

我如何要求用戶在課程後輸入出勤率,但允許在沒有出席的情況下創建課程?我可以在一個模型中做到這一點,還是應該創建某種類似中間人的LessonInformation模型?我唯一的選擇是使用JavaScript來驗證這個部分嗎?

回答

1

沒有看到任何代碼,我不能給你一個具體的解決方案,但這是一個一般的方法,然後你可以定製適合你的應用程序。

首先爲您的Lesson模型添加一列,該模型包含給定課程的當前狀態。這可能只是一個名爲finished的布爾值。

然後你就可以添加僅獲取運行驗證規則時finished是真實的,就像這樣:

validates :attendance, presence: true, if: :finished?