在Ruby / Rails api http://api.rubyonrails.org/中查找方法文档的过程是什么。
我们以方法ActiveRecord::Base.update
为例。它用在其中一个railscast中。
update
方法
https://github.com/rails/rails/blob/0065f378262dc3f47880ce6211c7474bc7d11f0b/activerecord/lib/active_record/base.rb ActiveRecord::Base
。我怀疑这个方法在ActiveRecord :: Relation中。但是,我不确定。
我是Ruby / Rails的初学者,我来自Java世界,我通常希望在类的javadoc中看到所有方法(也继承)。对于Ruby / Rails,最有效的查找混合/继承方法的相关文档是什么?
提前致谢!
答案 0 :(得分:3)
您可能找不到关于ActiveRecord::Base#update
的任何好文档,因为根据APIdock.,自Rails版本2.3.8以来该方法已被弃用。
您仍然可以使用它的原因是因为它已移至ActiveRecord::Relation
,这可以在rails/activerecord/lib/active_record/relation.rb
中看到。
rails/activerecord/lib/active_record.rb
包含autoload
的所有ActiveRecord
,其中包含:Relation
。
ActiveRecord::Relation#update
的文档如下:
更新对象(或多个对象)并将其保存到数据库中, 如果验证通过。生成的对象是否返回 对象是否已成功保存到数据库中。
====参数
- + id + - 这应该是id或要更新的ID数组。
- + attributes + - 这应该是属性的散列或散列数组。
====示例
# 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的详细信息。
答案 1 :(得分:1)
ActiveRecord :: Base.update不再存在了,你可以在这里看到:http://apidock.com/rails/ActiveRecord/Base/update/class,它的ActiveRecord ::现在关系如此:http://apidock.com/rails/ActiveRecord/Relation/update