我有一个创建设备的表单。我想确保我传递给它的柜子存在。在设备模型中,我得到了:
validates_presence_of :cabinet_id, :message => 'Please enter full cabinet name beginning with data center code'
控制器对机柜进行操作,以确定是否有空位。如果机柜不存在,这会导致应用程序崩溃,因为它会尝试使用机柜的属性。
在尝试执行操作之前,如何让表单提醒用户机柜不存在?
答案 0 :(得分:0)
在没有看到模型代码的其余部分的情况下,它有点难,但我建议将条件下的'操作'包装在条件中,例如。 if cabinet_id.present? (do stuff) end
如果操作是自定义验证,请将其设置为有条件的,例如。 validate :space_in_cabinet, if: :cabinet_id
。