我正在将Rails nested attributes与allow_destroy: true
一起使用。如果我打这样的话:
deck.update(deck_items_attributes: { id: 1000, _destroy: true })
且ID为deck_item
的1000
不存在,Rails引发异常ActiveRecord::RecordNotFound
。
有没有办法告诉Rails不要抛出异常而只是忽略该记录?
您总是可以使用begin抢救来处理这种类型的异常
begin
deck.update(deck_items_attributes: { id: 1000, _destroy: true })
rescue ActiveRecord::RecordNotFound => e
puts custom_error_msg
end