Я использую активное хранилище для осуществления загрузки файлов в форме.
<%= form_for @listing do |form| %>
# ...
<%= form.text_field :title, placeholder: "Title" %>
<%= form.file_field :image, direct_upload: true, accept: "image/png,image/gif,image/jpeg" %>
# ...
<% end %>
Я обрабатываю отправку формы в контроллере следующим образом:
def create
@listing = Listing.new(safe_params)
if @listing.save
flash[:success] = "Your posting has been submitted"
redirect_to root_url
else
flash.now[:warning] = @listing.errors.full_messages
render 'new'
end
end
Если проверки не пройдены,новая страница перерисована.Если я уже ввел заголовок, ранее введенный заголовок присутствует в перерисованной форме.Однако, если я уже выбрал файл, этот файл не будет выбран в повторно обработанной форме.
Я выбираю файл:
При отправке файл загружается, но проверка не проходит, и страница повторно отображается.Файл больше не выбран:
Я не совсем уверен, что здесь происходит.Почему файл не запоминается при перерисовке новой страницы?Почему форма не отображает выбранный файл?Что мне нужно сделать, чтобы убедиться, что он все еще выбран, когда страница перерисовывается?