【发布时间】:2014-06-18 04:58:11
【问题描述】:
我有一个 activerecord 模型 Connection,它继承了 SSH、S3、Local 等模型。我对这些子模型有不同的存在验证。
在我看来,我有一个连接类型的“类型”下拉菜单,它根据所选类型显示/隐藏不同的字段。保存后,控制器将参数保存为连接类型模型。
问题在于,当 save 方法在父 (Connection) 类的实例上运行时,尽管“type”设置为必要的值,但并未检查相关的子验证。
我可以通过一个开关来解决这个问题,该开关根据“类型”的值保存模型的新实例,但不知何故这似乎不雅。 ...那么,有没有更优雅的方法来确保当我的 Connection 模型以(比如说)“SSH”类型的值保存时,“SSH”验证在该模型上运行?
【问题讨论】:
标签: ruby-on-rails validation activerecord