ruby-on-rails - 未记录的 ActiveRecord bang 方法

标签 ruby-on-rails activerecord rails-activerecord

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/

相关文章:

sql - 删除并重新创建单个表(在 Heroku 上)

mysql - 如何将此 ActiveRecord 查询重写为 MySQL?

ruby-on-rails - 在 Rails 多态关联中查找父项

ruby-on-rails - Rails has_one 到 has_many 不工作

ruby-on-rails - 在 has_and_belongs_to_many 关联中显示正确数量的项目时出现问题

ruby-on-rails - Rails 应用程序错误 : Premature end of script headers

ruby - 如何在 Rails 之外的多个环境中使用 ActiveRecord?

ruby-on-rails - 如何在 Controller 中使用 current_user 设定条件

ruby-on-rails - 我可以在 Ruby on Rails 上编写 PostgreSQL 函数吗?

ruby-on-rails - 遍历数据库中的每条记录 - Ruby on Rails/ActiveRecord