我有三个模型 model1、model12 和 mode2。模型 1 有许多模型 2 到模型 12。
我必须通过model12验证model2的存在。
当我尝试保存 model1 的编辑记录时,rails 正在保存没有 model2 的记录。仅当模型 1 中已经存在的数据库条目没有模型 2 信息时,验证才会失败。
class model1 < ActiveRecord::Base
has_many :model12, :dependent => :destroy, :include => [:model]
has_many :model2, :through => :model12, :uniq => true
validates_presence_of :model12, :message => "must be present"
我试过了
validates_presence_of :model2, :message => "must be present"
这也行不通。
我想在我的情况下,rails 正在检查保存的记录而不是未保存的记录。这就是为什么当已经保存的记录有model2而未保存的记录没有model2时验证不会失败。但是当保存的记录没有model2并且未保存的记录也没有model2时它会失败。
如果我的问题不清楚,请告诉我。