ruby-on-rails - 如何查找 ActiveRecord::Base.update 的文档?

标签 ruby-on-rails ruby ruby-on-rails-3

在 Ruby/Rails api 中查找方法文档的过程是什么 http://api.rubyonrails.org/ .

让我们以方法ActiveRecord::Base.update 为例。它用于其中一个 railscasts。

  1. 类的 api 文档中没有提到更新 http://api.rubyonrails.org/classes/ActiveRecord/Base.html
  2. 有 Base 的源代码中没有关于 update 方法的信息 https://github.com/rails/rails/blob/0065f378262dc3f47880ce6211c7474bc7d11f0b/activerecord/lib/active_record/base.rb
  3. 事实上,我什至在包含的任何类中都找不到这个方法 ActiveRecord::Base.

我怀疑这个方法在 ActiveRecord::Relation 中。但是,我不确定。

我是 Ruby/Rails 的初学者,我来自 Java 世界,在那里我通常希望在类的 javadoc 中看到所有方法(以及继承的)。对于 Ruby/Rails,查找混合/继承方法的相关文档最有效的是什么?

提前致谢!

最佳答案

根据 APIdock.,您可能找不到任何关于 ActiveRecord::Base#update 的好文档,因为该方法自 Rails 2.3.8 版以来已被弃用。 .

您仍然可以使用它的原因是因为它已被移动到 ActiveRecord::Relation 中,可以在 rails/activerecord/lib/active_record/relation.rb 中看到>。

rails/activerecord/lib/active_record.rb 包含 ActiveRecord 的所有 autoload,其中包括 :Relation.

ActiveRecord::Relation#update 的文档如下:

Updates an object (or multiple objects) and saves it to the database, if validations pass. The resulting object is returned whether the object was saved successfully to the database or not.

==== Parameters

  • +id+ - This should be the id or an array of ids to be updated.
  • +attributes+ - This should be a hash of attributes or an array of hashes.

==== Examples

# Updates one record 
Person.update(15, :user_name => 'Samuel', :group => 'expert')

# Updates multiple records 
people = { 1 => { "first_name" => "David" }, 2 => { "first_name" => "Jeremy" } }       
Person.update(people.keys, people.values)

编辑:要回答您最初的问题,在大多数情况下,请搜索 api.rubyonrails.org。只要信息是最新的,就足以找到您要查找的信息。

对于可能较旧的 API 详细信息,请使用 apidock.com/rails .在那里搜索“更新”实际上会显示两个版本(::Base::Relation),并为您提供每个版本的详细信息以及每个版本中使用的 Rails .

关于ruby-on-rails - 如何查找 ActiveRecord::Base.update 的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11546580/

相关文章:

ruby-on-rails-3 - "TypeError: no implicit conversion of nil into String"急切加载结果时

ruby-on-rails - 多个 Rails 应用程序的单独 Assets 存储库

ruby-on-rails - Rails 4.1.0.beta1 升级失败

javascript - 在 JS 中从 Chrome 扩展程序向我的 Rails API 发出基本请求

ruby-on-rails - rails : Global instance variables in Rails

ruby-on-rails - ruby rails : Custom routes for search results

ruby-on-rails - 如何只输入唯一关联?

ruby-on-rails - 无法运行 rake db :schema:load unless the database is already loaded

ruby-on-rails - accepts_nested_attributes_for with has_many => :through Options

ruby - 成对组合数组的元素 ruby