我正在构建一个仅处理请求json的Rails应用,并将信息返回给用户。我正在尝试使用data-disable-with属性,但是操作完成后,按钮未启用。
我正在请求一个端点和JSON响应,我将生成一个XLSX文件并发送给用户。
问题是发送文件后,该按钮未启用。
<%= form_for generate_report_path, url: generate_report_path(format: "xlsx"), method: :post do %>
<div class="form-group">
<%= label_tag(:dtInicio, "Data Inicio") %>
<%= text_field_tag(:dtInicio, nil, class: "form-control datepicker", id: 'cpDtInicio', placeholder: "Pesquise a data inicio", required: true) %>
</div>
<div class="form-group">
<%= label_tag(:dtFinal, "Data Final") %>
<%= text_field_tag(:dtFinal, nil, class: "form-control datepicker", id: 'cpDtFinal', placeholder: "Pesquise a data Final", required: true) %>
</div>
<%= button_tag("Download", class: "btn btn-dark", id: 'download', 'data-disable-with' => "<i class='fa fa-spinner fa-spin'></i> Gerando Relatório...") %>
<div class="col-md-12"></div>
<% end %>
在我的控制器上:
def generate_report
begin_dt = Date.parse(params[:dtInicio]).strftime("%Y-%m-%d")
end_dt = Date.parse(params[:dtFinal]).strftime("%Y-%m-%d")
@info = JSON.parse(get_connection(begin_dt, end_dt))["information"]
respond_to do |format|
format.xlsx {
send_file generate_file, content_type: 'application/vnd.ms-excel',
filename: "#{Time.now.strftime('%Y%m%d%H%M%S%L')}.xlsx", :disposition => 'inline'
}
end
end
我已经尝试添加一个JS来启用,但是该页面没有为此JS重新加载。我迷路了,感谢您的帮助。