module ActiveRecord # = Active Record Relation class Relation def delete_all(conditions = nil) puts "熊孩子你要干嘛!!!" end end end
我准备用在我所有项目里面了
不怎么样。monkey patching 库代码是很丑的。另外,在某些情况下你可能确实需要 delete_all。与其改写库代码,不如加一个 module 定义软删除,然后需要的 model 可以应用这个行为。
恭喜啊大贝
#2 楼 @billy 其实我是想避免误删除,万一手贱在 console 里 delete_all 忘了加 condition。 PS puts 只是个例子,我应该直接 raise 个错误。
why ? delete_all & destroy_all ?
@iamzhangdabei 开发环境和测试环境其实都无所谓,开发环境有 seed,测试环境是空的,删就删了,一点问题都没有。生产环境我个人的建议是最好不要用 console 管理数据,而是以 GUI 和 rake 为主,以保持数据一致性。
#6 楼 @billy agree .
def delete_all(conditions = nil) raise end
调试调到哭
生产环境最好不要去做一些危险的调试, 服务器上调试就是玩火!