我有这 3 个课程:
class Profile < ActiveRecord::Base
end
class Subject < ActiveRecord::Base
end
class ProfileSubject < ActiveRecord::Base
belongs_to :profile
belongs_to :subject
validates_uniqueness_of :subject_id, scope: :profile_id
end
validates_uniqueness_of
当我用他相关的 ProfileSubject 集合更新我的个人资料时,这非常有用。但是,在创建操作时 - 它没有验证这种独特性。我想,这可能是因为当我创建对象时我还没有 profile_id ......我尝试为模型添加我自己的令牌,我可以使用它来连接它们并通过它进行验证(在范围上使用它validates_uniqueness_of
)。我现在知道的广告,它没有用,也不起作用。
你能帮我吗...为什么这个标准验证在更新操作上可以正常工作..但在创建操作上不起作用。
创建代码是标准的,如下所示:
@profile = Profile.new(profile_params)
if @profile.save
# ...
else
# ...
end