ruby-on-rails rails6中send_data后如何刷新页面

uyto3xhc  于 2023-06-07  发布在  Ruby
关注(0)|答案(1)|浏览(210)

你好开发者我在我的控制器中生成一个csv,但每次用户点击下载,它必须手动刷新,我如何才能避免这种情况?

@archivo_csv = CSV.generate(:encoding => 'windows-1252') do |csv|
            csv  <<  ["indicator","count"]
            @indicator[1..@indicator.size].each_with_index do |indicator, i|
                csv << ["#{indicator[0]}", indicator[1]]
                    indicator[2].each do |date|
                        csv << ["    #{date[0]}", date[1]]
                    end
                    indicator[3].each do |status|
                        csv << ["    #{status[0]}", status[1]]
                    end
            end
send_data @archivo_csv, :filename => "Indicadores Generales.csv"
        end
7z5jn7bk

7z5jn7bk1#

我认为实现这一目标的唯一方法是使用JavaScript。将target="_blank"onclick="JavaScript:location.reload(true);"添加到HTML表单。我使用button_来标记如下:

<%= button_to 'Download',
              download_entity_path(@entity, format: :pdf),
              method: :get,
              form: {target: :blank,
                     onclick: 'JavaScript:location.reload(true);'} 
%>

请注意,浏览器可能会将下载视为弹出窗口。

相关问题