如果我有一个 Widget 模型,如下所示:
create_table "widgets", id: :serial, force: :cascade do |t|
t.string "name"
t.integer "quantity"
end
...如果quantity
不是零或零,我如何防止销毁操作?我认为这是我应该在模型而不是控制器中做的事情?
我已经想通了:
class Widget < ApplicationRecord
before_destroy :ensure_quantity_blank
protected
def ensure_quantity_blank
if !self.quantity.blank?
errors.add(:quantity, "Cannot delete widget with a quantity")
throw(:abort)
end
end
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句