Если ваша база данных Postgres, вы можете получить следующий идентификатор с этим (например, для таблицы с названием «users»):
ActiveRecord::Base.connection.execute("select last_value from users_id_seq").first["last_value"]
В отличие от других ответов, это значение не зависит от удаления записей.
Вероятно, есть эквивалент MySQL, но у меня нет настроенного для подтверждения.
Если вы импортировали данные в свою базу данных postgresql, есть большая вероятность, что для следующего значения идентификатора после импорта не будет установлено следующее целое число, большее, чем наибольшее импортированное вами. Таким образом, вы столкнетесь с проблемами при попытке сохранить экземпляры модели activerecord.
В этом сценарии вам нужно будет вручную установить следующее значение идентификатора, например:
ActiveRecord::Base.connection.execute("alter sequence users_id_seq restart with 54321;") #or whatever value you need