Требовать, чтобы адрес электронной почты был уникальным с простой формой - PullRequest
0 голосов
/ 04 марта 2019

Я использую самоцвет Simple Form.Одним из полей в форме является электронная почта, но я хочу, чтобы форма была опубликована только в том случае, если электронная почта ранее не использовалась.Как я могу это сделать?

Я использую haml кстати.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

В дополнение к ответу Venom , я рекомендую использовать уникальный индекс.

Поскольку может возникнуть ситуация, когда одновременно будут поступать запросы с одним и тем же адресом электронной почты.И они будут подтверждены.В этом случае у вас будут дубликаты.

Для этого сделайте ограничения.Это будет что-то вроде

$ rails g migration AddIndexToObjects


class AddIndexToObjects < ActiveRecord::Migration
  def change
    add_index :objects, :email, unique: true
  end
end
0 голосов
/ 04 марта 2019

Используйте его в вашей модели с полем email и not в вашем контроллере , добавьте следующий код

validates :email, uniqueness: true

что делает этот код?

Это не позволит пользователям использовать идентификатор электронной почты, который уже присутствует в вашей базе данных.не забудьте проверить, правильно ли я.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...