Rails - 使用现有父资源数据验证子对象

时间:2013-03-31 03:57:45

标签: ruby-on-rails

使用现有父资源中的数据验证新子对象的正确步骤是什么?我不明白如何从子模型访问父资源的数据。

上下文:我的子模型Reservation具有日期范围属性,该属性不能与父对象的其他Reservation对象冲突/重叠。我试图实现这一目标的方法是在Reservation模型中编写一个自定义验证器,它将拉出父对象的所有现有预留并迭代它们,确保没有冲突。

1 个答案:

答案 0 :(得分:1)

使用自定义验证器并迭代预订的方法听起来不错。

假设你有这个:

class Parent < ActiveRecord::Base
  has_many :reservations
end

class Reservation < ActiveRecord::Base
  belongs_to :parent
end

然后你可以使用reservation.parent.reservations来迭代现有的预订。