0

我有一个has_many关联 b/wa 产品和价格表。

class product < ApplicationRecord
   has_many :prices, as: :pricing
   accepts_nested_attributes_for :prices
end

class Price < ApplicationRecord
   belongs_to :pricing, polymorphic: true
   validates_uniqueness_of :pricing_interval, scope: [:interval_count, :pricing_type, :pricing_id], message: "can't be repeated"
end

正如模型所述,我从前端接受n 个价格的嵌套属性,并将它们隐式保存在父记录中。

但是每当出现唯一性验证错误时,即使用户从前端更改了值,活动记录也会继续抛出验证错误,除非最后一条记录的值(在一系列 id 中)从前端更改.

据我了解,活动记录以某种方式记住了那些在第一学期(回滚之前)成功更新的子记录,这就是为什么即使用户更改了它们的值,它也会继续抛出唯一性验证错误。

4

0 回答 0