4

Ruby / Railsapihttp://api.rubyonrails.org/でメソッドのドキュメントを見つけるプロセスは何ですか

ActiveRecord::Base.update例としてメソッドを取り上げましょう。これは、レールキャストの1つで使用されます。

  1. クラスhttp://api.rubyonrails.org/classes/ActiveRecord/Base.htmlのAPIドキュメントに更新についての言及はありません
  2. updateBaseのソースコードにはメソッド について何もありませんhttps://github.com/rails/rails/blob/0065f378262dc3f47880ce6211c7474bc7d11f0b/activerecord/lib/active_record/base.rb
  3. 実際、に含まれているクラスでこのメソッドを見つけることさえできません ActiveRecord::Base

このメソッドはActiveRecord::Relationにあると思います。しかし、よくわかりません。

私はRuby/Railsの初心者であり、Javaの世界から来ました。通常、クラスのjavadocにすべてのメソッド(継承されたものも)が表示されることを期待しています。Ruby / Railsの場合、混合/継承されたメソッドに関連するドキュメントを見つけるのに最も効果的なものは何ですか?

前もって感謝します!

4

2 に答える 2

3

APIdockActiveRecord::Base#updateによると、Railsバージョン2.3.8以降、このメソッドは非推奨になっているため、適切なドキュメントはおそらく見つかりません。。

引き続きご利用いただけるのは、に移動されたためActiveRecord::Relationですrails/activerecord/lib/active_record/relation.rb

rails/activerecord/lib/active_record.rbを含むすべてのautoloadActiveRecord含まれます: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を使用してください。そこで「update」を検索すると、実際には両方のバージョン(::Base::Relation)が表示され、それぞれの詳細と、それぞれが使用されているRailsのバージョンがわかります。

于 2012-07-18T17:11:09.720 に答える
1

ここに表示されているように、ActiveRecord :: Base.updateはもう存在しません:http: //apidock.com/rails/ActiveRecord/Base/update/class、これはActiveRecord :: Relationshipです:http://apidock。 com / rails / ActiveRecord / Relationship / update

于 2012-07-18T17:15:15.380 に答える