Ransack搜索结果 – to_xls?

我有一个搜索范围很好的搜索表单,我想为用户添加一个导出,将结果集的内容发送到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方法有关吗? 任何帮助都会很棒。

谢谢!

我知道这是一个黑客,在花了很多时间没有得到它之后,我还是用它。

 ">make xls 

所以基本上它需要在?之后的搜索路径,然后将它添加到你的model.xls输出路径,然后它的工作原理。 我自己讨厌,必须有更好的方法,但最后期限。

这里有一个很好的链接 。

Ronin为这个相关问题提供了一个简单的解决方案,但使用CSV而不是XLS 。 就我而言,使用Ronin的答案,我只是重写了使用XLS的链接,如下所示

 <%= link_to "Download Excel", reports_path(params.merge(format: "xls")) %> 
 %= link_to "Download Excel", yours_controller_path(params.merge(format: "xls")) %>