[英]Understanding ruby on rails documentation
我目前正在创建一个 Rails 应用程序。
我正在编写一个模型并想添加一些验证。
从文档中我看到做这样的事情是可行的
class Person < ApplicationRecord
validates :terms_of_service, acceptance: { message: 'must be abided' }
end
我试图在这里理解 validates 方法。
在更一般的层面上,我想更好地理解 Rails 文档。
我的理解是 validates 是 ApplicationRecord::Base 的一个类方法。 可以使用各种参数和选项重用它。 我找到的最好的文档是这个。
我不明白在哪里可以找到所有验证选项和参数的列表。
在这种情况下,
任何有关如何更好地理解 ruby on rails 文档的提示将不胜感激。
validates :terms_of_service, acceptance: true
acceptance
映射到AcceptanceValidator
,它是一个默认的 Rails 验证器:
https://github.com/rails/rails/blob/main/activemodel/lib/active_model/validations/acceptance.rb
示例中列出了所有默认验证器:
https://api.rubyonrails.org/classes/ActiveModel/Validations/ClassMethods.html#method-i-validates
absence
acceptance
confirmation
exclusion
format
inclusion
length
numericality
presence
以及由ActiveRecord
添加的其他验证器:
associated
uniqueness
https://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html
每个验证器的可用选项都记录在此处的辅助方法中:
https://api.rubyonrails.org/classes/ActiveModel/Validations/HelperMethods.html
validates :terms_of_service, acceptance: true
# is the same as using a helper method
validates_acceptance_of :terms_of_service
# and both map to rails default `AcceptanceValidator`
你也可以有自定义验证器:
validates :terms_of_service, terms: true # maps to `TermsValidator`
# because there is no TermsValidator class in rails, you have to define it
# class TermsValidator
# # TODO: see docs for examples of custom validators
# end
https://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.