ActiveRecord 的 bang 方法是公开的,但没有记录或在任何地方提及,是否有原因?
例如,where!
, order!
, limit!
和其他人都是公开的,并由他们的非爆炸同行使用。
我知道他们更改了查询对象而不是它的克隆(并且需要谨慎),但其他 bang 方法也是如此,这些方法通常都有很好的文档记录。
最佳答案
他们希望保持 API 不可变,请参阅此提交的评论:
https://github.com/rails/rails/commit/8c2c60511beaad05a218e73c4918ab89fb1804f0
至于所有未记录的方法(带有 # :nodoc:
),它们是私有(private) API 的一部分。
您不应该使用它们,因为它们可能会在没有警告的情况下被删除。
hth
关于ruby-on-rails - 未记录的 ActiveRecord bang 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23950627/