Возможно, вы захотите взглянуть на оптимистическую стратегию блокировки, так что пусть столько пользователей, сколько необходимо, отредактируют страницу.Но когда пользователь пытается сохранить данные, проверьте, изменился ли токен, и отклоните редактирование.Например:
- Пользователь A начинает редактировать элемент и хранит последнюю измененную метку времени в качестве токена
- Пользователь B начал редактировать элемент, а также сохраняет последнюю измененную метку времени в качестветокен
- Пользователь Б сохраняет свои изменения.Последняя измененная временная метка не изменилась, поэтому сохранение прошло успешно
- Пользователь A сохраняет свои изменения.Последняя измененная временная метка была изменена, поэтому их сохранение отклонено.Пользователю может быть предложена возможность разрешить конфликт (если он есть).
О, похоже, в Rails это уже есть, как упомянул @Andy Waite (+1).