【发布时间】:2014-02-23 11:33:59
【问题描述】:
我有以下关联:
class Budget < ActiveRecord::Base
has_many :budget_components
end
class BudgetComponent < ActiveRecord::Base
belongs_to :budget
end
当我将budget 的budget_component 对象集合保存在budget_component needs to be validated such that all of thebudget'sbudget_component'srevenue_percentagefields add up to1.0 中的一个字段(我们称之为revenute_precentage)(例如都必须等于 100%)。
我预计会发生的问题是数据库可能会一次验证一个或将一个未保存的记录与已保存的记录进行比较,并且应该有效的内容可能会失效。
我是否应该在 budget 对象上添加一个验证器来验证 budget_components 还是这样就可以了?
【问题讨论】:
-
你可以在你的 budget.rb 中添加一个 before_save 回调
标签: ruby-on-rails validation nested-attributes