Загрузить CSV пользователей с шагом подтверждения - PullRequest
0 голосов
/ 04 февраля 2019

В Ruby on Rails я ищу следующие функции:

  1. Посетите страницу загрузки csv пользователя
  2. Отправьте csv пользователей через форму с file_field_tag ​​
  3. Разбор csv (бэкэнд)
  4. Создание пользователей и проверка правильности (бэкэнд)
  5. Отображение пользователю любых ошибок ИЛИ предварительный просмотр пользователей
  6. Пользователь подтверждает создание просматриваемых пользователей
  7. Пользователи, созданные при загрузке, сохраняются в базе данных, вызывая .save на них

В настоящий момент яреализовали шаги 1-5.Я (возможно, неправильно) использую

render my_path, :locals =>{ :users_pending => @users_pending}

, чтобы передать список допустимых пользователей на страницу для предварительного просмотра объектов пользователя, полученных в результате загрузки, - вызывая переменную экземпляра @users_pending вфайл шаблона .html.erb.

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

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

Из того, что я могу понять, я мог бы

  • хранить неподтвержденных пользователей вбаза данных (что я не хочу делать, поскольку цель подтверждения состоит в том, чтобы избежать попадания непроверенных данных в базу данных)
  • Сохранение исходного файла в каком-либо объекте загрузки, чтобы исходный файлможет быть проанализирован снова для создания объектов
  • Передать (потенциально) огромный список параметров с помощью запроса

Другие запросы, которые я ищуund, кажется, не особенно полезен

Ruby on Rails: страница подтверждения для создания объекта ActiveRecord Как представляется, предлагает обойти параметры с запросом

CSVимпорт - с подтверждением - стандартное решение / драгоценный камень? не так много ответов

Любая помощь будет принята с благодарностью

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