【发布时间】:2015-10-24 23:00:38
【问题描述】:
我有一个事件模型。每个事件可以有多个会话。
我想确保没有至少 1 个会话与之关联的模型不能存在。
validates :sessions, :length => { :minimum => 1 }
问题是 - 当我尝试通过调用我的模型方法为特定事件创建会话时:
create_sessions()
类似于:
sessions.create(event_id: id,date: x,day_of_the_week:x.strftime("%A"),classPin: pin)
活动将在每个日期举行。
保存失败,报错:
ActiveRecord::RecordNotSaved in EventsController#create
You cannot call create unless the parent is saved
当然 - 到目前为止,新的事件记录尚未保存 - 因此无法创建此关联,因为在保存父级之前无法使用的关联上创建!
因此,这种关系之间的任何验证如何工作 - 因为验证发生在保存时间......但我想在我们保存事件之前验证会话数是否大于 0!
【问题讨论】:
标签: ruby-on-rails ruby validation ruby-on-rails-4 activerecord