1

Rails のメソッドに渡すことができるさまざまなオプションをどのように見つければよいでしょうか? たとえば、に渡すことができるオプションを知りたいですvalidates。ドキュメントのどこにも見つかりません。

4

3 に答える 3

0

ご存じのように、署名でハッシュ オプションを文書化することはできないため、文書の品質に依存するか、ソース コードを読む必要があります。

この場合、ドキュメントには、ほとんどすべてのデフォルトのバリデータをカバーするいくつかの例が示されています。動的に拡張できるため、利用可能なすべてを文書化することはできないことに注意してください。

>> ActiveModel::EachValidator.descendants
=> [Paperclip::Validators::AttachmentSizeValidator, ActiveModel::Validations::WithValidator, ActiveModel::Validations::ExclusionValidator, ActiveRecord::Validations::AssociatedValidator, ActiveModel::Validations::ConfirmationValidator, ActiveModel::Validations::PresenceValidator, ActiveModel::Validations::FormatValidator, Paperclip::Validators::AttachmentContentTypeValidator, Paperclip::Validators::AttachmentPresenceValidator, ActiveRecord::Validations::UniquenessValidator, ActiveModel::BlockValidator, ActiveModel::Validations::NumericalityValidator, ActiveModel::Validations::AcceptanceValidator, ActiveModel::Validations::InclusionValidator, ActiveModel::Validations::LengthValidator]

または:

ActiveModel::EachValidator.descendants.map { |klass| klass.name.split("::").last.sub(/Validator$/, '').underscore }
 => ["attachment_size", "with", "exclusion", "associated", "confirmation", "presence", "format", "attachment_content_type", "attachment_presence", "uniqueness", "block", "numericality", "acceptance", "inclusion", "length"]
于 2013-02-17T11:48:37.067 に答える
0

出発点は常に Rails の公式ドキュメントです。たとえば、validatesメソッドのドキュメントは次のとおりです。

ただし、Rails は絶えず進化するフレームワークであることを忘れないでください。残念ながら、これはすべてのメソッドが完全に文書化されているわけではなく、メソッドの動作を理解するためにソース コードを直接掘り下げる必要があることを意味します。

于 2013-02-17T12:54:34.047 に答える
0

APIドックは便利で、ソースコードも表示されますhttp://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates

于 2013-02-17T11:42:08.973 に答える