아마도 안전한 검색을 위해 https://github.com/activerecord-hackery/ransack과 같은 것을 사용해야합니다. 그런 다음 뷰 :
= form_for(@search) do |f|
= f.label :gender
= f.select :gender, ["Male", "Female"]
= f.submit "Filter"
# table of users
= link_to "Download CSV", students_path(format: 'csv'), class: 'download-csv'
CSV를 필터가 변경 될 때마다 테이블을 다시로드되며, 다른 코드가
$(document).ready(function() {
$('.download-csv').on('click', function (e) {
e.preventDefault();
var link = this;
var formData = $('form').serialize();
link.href = link.href.toString().replace(/\?.+$/, "?" + formData + "&format=csv");
location.href = link.href;
});
);
PARAMS 다운로드 링크를 업데이트합니다 그리고 컨트롤러에 그냥 렌더링 한 JS 코드 request[:format] == 'csv'
다운로드하기 전에 필터링 된 매개 변수를 CSV 링크로 보내고 결과를 필터링하십시오. –
안녕하세요, 스택 오버플로를 환영합니다. 코드의 구두 설명을 디버깅하는 것을 돕는 것이 정말 어렵습니다. 실제로 시도한 내용과 관련된 모든 내용을 보여줄 수 있습니까? 그런 다음 해당 코드를 복사/붙여 넣기 및 변경하고 사용자에게 도움이 될만한 예제를 보여줄 수 있습니다. :) –