2014-06-18 68 views
0

我有一個activerecord模型,連接,有繼承的模型,如SSH,S3,本地等。我有不同的存在驗證跨越這些子模型。ActiveRecord:通過父母驗證繼承類

在我看來,我有一個「類型」的連接類型下拉菜單,根據所選的類型顯示/隱藏不同的字段。保存後,控制器將參數保存爲連接類型模型。

問題是,鑑於保存方法在父(Connection)類的實例上運行,儘管將「type」設置爲必需值,但未檢查相關的子驗證。

我可以通過一個開關來解決這個問題,該開關根據「類型」的值保存模型的一個新實例,但某種程度上看起來不夠優雅。 ...那麼,有沒有一種更優雅的方式來確保,當我的Connection模型保存的值爲(假設)'SSH'類型時,'SSH'驗證在該模型上運行?

回答