2016-04-13 3 views
0

У меня действительно нет примеров, но у меня есть формы, которые создают новые записи в моей базе данных ActiveRecord, которые на самом деле не имеют каких-либо уникальных атрибутов, отличных от их идентификатора. Мне стало интересно, что пользователи представляют свою форму, но поняли, что они что-то не поняли, поэтому они нажали кнопку возврата браузера и повторно отправили один и тот же контент, что и привело к дублированию этой записи.Предотвращение дублирования записей в Rails

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

Спасибо!

+1

Подтвердить уникальность на основе нескольких атрибутов. –

+0

предложение, не связанное с activerecord, заключается в том, чтобы добавить кнопку подтверждения подтверждения, чтобы пользователи могли видеть их опечатки перед отправкой. –

ответ

1

В модели записи добавьте проверку уникальности, как описано в this Rails Guide. Вы можете применить область действия для этой проверки, чтобы уникальность определялась с использованием нескольких атрибутов записи.

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

+0

Просто удалил свой ответ, ваш 1 минута раньше :) +1 –

+0

Недостаточность проверки уникальности внутри модели, логика уникальности должен находиться внутри базы данных или вы подвергаетесь условиям гонки. –

Смежные вопросы