瞎扯淡 看看这段代码如何

iamzhangdabei · 2014年07月16日 · 最后由 colorfulberry 回复于 2014年07月17日 · 2111 次阅读
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 为主,以保持数据一致性。

def delete_all(conditions = nil)
  raise
end

调试调到哭

生产环境最好不要去做一些危险的调试, 服务器上调试就是玩火!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号