3

ランサック検索フォームがうまく機能しています。結果セットの内容を XLS ファイルに送信するためのエクスポートをユーザーに追加したいと考えています。

to_xls も正常に実装しましたが、ビューに表示されるフィルタリングされた結果ではなく、検索しているオブジェクトの可能な範囲を最大限に返してくれます。

def index

  @search = Expense.search(params[:q])
  @expense_list = @search.result.sort_by(&:expense_date) 

    respond_to do |format|
      format.html
      format.xml { render :xml => @expense_list }
      format.xls { send_data @expense_list.to_xls, :filename => '123.xls'}
    end

end

ransack が GET メソッドを使用する方法と関係がありますか? どんな助けでも素晴らしいでしょう。

ありがとう!

4

3 に答える 3

3

私はこれがそのようなハックであることを知っています。

<a href="/expenses.xls?<%= request.fullpath.split("?")[1]  %>">make xls</a>

したがって、基本的には ? の後に検索パスを取り、それを model.xls 出力パスに追加すると機能します。私はそれが嫌いです。もっと良い方法があるに違いありませんが、締め切りがあります。

ここに良いリンクがありました。

于 2013-05-06T09:25:05.340 に答える