У меня есть сообщение ajax в моем приложении backend rails, оно должно опубликовать загрузку файла.
Опубликовать ответ с моим списком файлов в формате JSON
После этого мне нужно перезагрузить список файлов на странице просмотра detalhes.html.erb. Этот список является частичным. Вот что у меня есть:
метод контроллера:
def upload_arquivo
@ponto_venda = PontoVenda.find(params[:pv_id])
nome = params[:key].split('/').last
@arquivo = Arquivo.new(nome: nome, endereco: params[:url], s3_key: params[:key], tamanho: params[:tam], user_id: params[:u_id], tag_id: params[:tag])
if @arquivo.save!
ArquivoPontoVenda.create(arquivo_id: @arquivo.id, ponto_venda_id: @ponto_venda.id, fachada: false)
response = { files: filtro_pv_arquivos, message: "O arquivo '#{nome}' foi salvo" }
else
response = { files: '', message: 'Ocorreu um erro ao salvar o arquivo, por favor, tente novamente' }
end
render json: response
end
Мой метод поста ajax на _arquivos_upload.html.erb
:
$.ajax({
url: 'some_url,
type: 'post', processData: false
})
.success(function(data) {
console.log(data.files.length);
// trying to reload partial after post request
$('#display-arquivos').html("<%= escape_javascript(render "arquivos_buscados") %>");
});
data.files верны, мне просто нужно найти способ передать это моему частичному рендеру. Как я могу это сделать? Или, если это плохой способ сделать это, как я могу сделать лучше?
Вот где я отрисовываю свою частичную detalhes.html.erb
:
<div class="card" id="display-arquivos">
<%= render "arquivos_buscados" %>
</div>
Я уже много чего пробовал:
github link
set .html (data.files)
использовать логику файла js.erb