Как показать автоинкрементный идентификатор в форме «Создать новую запись» с помощью Rails - PullRequest
0 голосов
/ 09 октября 2010

Я пытаюсь создать форму, которая будет показывать идентификатор, по которому запись собирается , до того, как нажать кнопку отправки в форме.Например, если у меня есть форма для создания нового проекта, а предыдущим проектом был id 3, я хочу, чтобы новая форма проекта автоматически заполнялась 4, чтобы я знал, что это будет 4, прежде чем я отправлю форму.

Спасибо за любую помощь, которую вы можете оказать!

- Марк

Ответы [ 2 ]

0 голосов
/ 09 октября 2010

Не совсем уверен, почему вы хотите это сделать, но существуют разные методы в зависимости от используемой технологии базы данных. Однако вы не хотите использовать эти методы, поскольку ваше приложение больше не будет зависеть от базы данных.

Грубым и простым подходом было бы выбрать последнюю строку в вашей таблице и просто увеличить ее на id.

Пример:

next_id = Project.last.id + 1

Однако , Я не поддерживаю это решение вообще , особенно потому, что нет гарантии , что next_id будет доступно к тому времени, когда вы нажмете кнопку Сохранить, если несколько пользователей вошли в систему и создавали проекты одновременно.

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

0 голосов
/ 09 октября 2010

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

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