最佳答案
根据 保住你的脑袋,积极的记录会让你发疯,我们应该避免在特殊情况下使用 save!
和 rescue
习语。假设一个模型需要 @post.mark_rejected
。
如果 mark_rejected
中的代码由于以下问题之一而失败,是否应该引发异常:
如果我们不抛出异常,那么:
mark_rejected
并执行它的操作rescue
子句,因此异常会冒泡到(。.随便哪里。.)并且可能显示为一些(500 HTTP?)错误示例代码:
def mark_rejected
...
save!
end
或者
def mark_rejected
...
save
end