Active Record — это популярная платформа объектно-реляционного сопоставления (ORM), используемая в Ruby on Rails. Одной из ключевых особенностей Active Record является механизм проверки, который обеспечивает целостность и согласованность данных в вашей базе данных. В этой статье мы рассмотрим различные методы проверки Active Record и предоставим примеры кода, демонстрирующие их использование.
- Проверка присутствия:
Проверка присутствия гарантирует, что указанный атрибут не является пустым или пустым.
class User < ActiveRecord::Base
validates :name, presence: true
end
- Проверка длины.
Проверка длины позволяет установить ограничения на длину значения атрибута.
class Post < ActiveRecord::Base
validates :title, length: { minimum: 5, maximum: 100 }
end
- Проверка формата.
Проверка формата позволяет вам обеспечить определенный формат значения атрибута с помощью регулярных выражений.
class Email < ActiveRecord::Base
validates :email, format: { with: URI::MailTo::EMAIL_REGEXP }
end
- Проверка числового значения.
Проверка числового значения гарантирует, что значение атрибута является допустимым числом.
class Product < ActiveRecord::Base
validates :price, numericality: true
end
- Проверка уникальности.
Проверка уникальности гарантирует, что значение атрибута уникально среди всех записей в базе данных.
class Account < ActiveRecord::Base
validates :username, uniqueness: true
end
- Пользовательская проверка.
Вы также можете определить свои собственные методы проверки для выполнения сложных проверок.
class Order < ActiveRecord::Base
validate :check_order_status
def check_order_status
errors.add(:base, 'Order cannot be processed') if status == 'cancelled'
end
end
Active Record предоставляет богатый набор методов проверки, которые помогают поддерживать целостность данных в ваших приложениях Ruby on Rails. В этой статье мы рассмотрели некоторые из наиболее часто используемых методов проверки, включая проверку наличия, длины, формата, количественности, уникальности и пользовательские проверки. Используя эти методы, вы можете гарантировать, что ваши данные соответствуют желаемым критериям, обеспечивая надежный и последовательный пользовательский опыт.