есть ли разница в валидации validates_uniqueness_of и уникальности? - PullRequest
0 голосов
/ 10 января 2020
class Category < ApplicationRecord
    validates :name ,presence: true
    validates_uniqueness_of :name
end

class Category < ApplicationRecord
    validates :name ,presence: true,uniqueness: true
end

есть ли разница в проверке данных двух моделей?

1 Ответ

0 голосов
/ 10 января 2020

Есть два способа точно ответить на этот вопрос:

1 - Он ведет себя точно так же.

В этом смысле нет никакой разницы. validates_uniqueness_of генерирует точно такую ​​же проверку, что и флаг :uniqueness на validates.

2 - Есть причины сделать это с флагами

С точки зрения чтения моделей, флаги помогают, потому что они позволяют поместить все проверки атрибута (здесь это имя) в одно и то же место. Поэтому, когда вы отказываетесь, вы видите проверки по имени, и вы можете быть уверены, что знаете, что они все в этой строке.

Стоит также отметить, что флаги - более новый стиль, и, вероятно, чем старше, тем больше Текстовый стиль, будет удален из Rails в будущем.

...