2017-02-21 18 views
0

私は問題に遭遇しました。私はページを持っているので、生徒のテーブルとそのすべての情報(成績、性別など)を教えてください。今、そのページに属性を除外できる機能があります。だから、私がすべての男の子を見たいと思えば、私はテーブルを再レンダリングします。今、私はページの下部にcsvリンクをダウンロードしていますが、フィルタリングに基づいて動的にしたいと思っています。私はこれについてどうやって行くのか分かりません。ajaxを元にしたCSVエクスポート

gon、gon.watchを使用しようとしましたが、成功しませんでした。

+0

フィルタリングされたパラメータをCSVリンクに送信し、ダウンロードする前に結果をフィルタリングしてください。 –

+0

こんにちは。コードの記述をデバッグするのは本当に難しいことです。あなたが実際に試したことと関連するスニペットを見せていただけますか?そのコードをコピー/貼り付け、変更して、あなたの役に立つ例を表示することができます:) –

答えて

0

恐らく、安全な検索のために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'

関連する問題