Как показать содержимое формы, только что введенное в опцию «: Подтверждение =>» на Ruby On Rails

StackOverflow https://stackoverflow.com/questions/1879344

  •  18-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь иметь способ подтвердить информацию, введенную, прежде чем фактически сохранить ее в БД

Считается создание индивидуальной страницы подтверждения, как обсуждалось здесь

Ruby on Rails: страница подтверждения для создания объекта Activerecord

Однако моя форма включает в себя прикрепленный файл с использованием PaperClip, который делает его более хлопотным для реализации.

Я подумал о том, чтобы просто иметь: Подтверждение => всплывающее окно, которое покажет только что введенный пользователь.

Проблема в том, как показать только что введенный пользователь, например, ввел пользователь

<% form_for @entry, :html => { :multipart => true } do |f| %>
  <%= f.error_messages %>


    <%= f.label :name %><br />
    <%= f.text_field :name %>

    <%= f.label :file %><br />
    <%= f.file_field :file %>

    <%= f.submit 'Create', :confirm => "????? " %>

<% end %>
Это было полезно?

Решение

Учитывая, что ваши нагрузочные вложения, может быть неплохой идеей представить представление, включая информацию, полученную из вложения, позволяющего пользователю подтвердить. Как в отображении файла, если это изображение или первый абзац текста, если это текстовый файл и т. Д.

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

Я не знаком с тем, как работает скрепка. Так что вы в основном самостоятельно для интимных деталей.

Вам, вероятно, придется создать запись, прежде чем представление постановки будет отображаться с помощью образца загруженного файла. Чтобы сделать это, я бы установил «активный» столбец на рассматриваемой модели, который по умолчанию не False.

Использование будет выглядеть примерно так:

  1. Пользователь завершает новую форму.
  2. Приложение обновляется, и записи сохраняются, а активное поле устанавливается в False.
  3. Передача на страницу подтверждения, которая по сути является страницей шоу с помощью ссылки/кнопки подтверждения и кнопки отмены/кнопки
  4. а Когда ссылка на подтверждение/кнопка нажата, он отправляет запрос на контроллер, запускающий действие обновления при этом настройке записи активной для True.

    беременный Когда ссылка/кнопка «Отмена/кнопка» нажимается, он отправляет запрос на контроллер, тригезирующий действие «Уничтожение» в этой записи.

Все, что осталось, - это установить повторяющуюся задачу, чтобы удалить неактивные объекты и были измельчены достаточно давно, чтобы можно с уверенностью предположить, что пользователь только что закончил сеанс браузера.

Другие советы

Опция подтверждения метода отправки рельсов может занять только текстовое значение.

Если вы хотите динамически сгенерировать текст подтверждения, один из способов сделать его, чтобы написать свой собственный тег HTML отправить и написать пользовательский JavaScript для анализа поля, которые вы хотите использовать в своем сгенерированном тексте.

Или вы можете использовать метод отправки рельсов, но использовать что -то вроде JQUERY, чтобы добавить к нему обработчик событий.

Я бы просто бросил свой JS в обработчике Onclick. Анкет Это все Rails.

<%= f.submit 'Create', :onclick => "confirm('Name is ' + $F('entry_name'));" %>

(Обратите внимание, не проверил это, но это выглядит близко. Подтвердите - основная функция JS, а не часть любой LIB)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top