使用现有父资源中的数据验证新子对象的正确步骤是什么?我不明白如何从子模型访问父资源的数据。
上下文:我的子模型Reservation
具有日期范围属性,该属性不能与父对象的其他Reservation
对象冲突/重叠。我试图实现这一目标的方法是在Reservation
模型中编写一个自定义验证器,它将拉出父对象的所有现有预留并迭代它们,确保没有冲突。
答案 0 :(得分:1)
使用自定义验证器并迭代预订的方法听起来不错。
假设你有这个:
class Parent < ActiveRecord::Base
has_many :reservations
end
class Reservation < ActiveRecord::Base
belongs_to :parent
end
然后你可以使用reservation.parent.reservations来迭代现有的预订。