将数据导出到ruby app上的.csv文件

时间:2015-01-08 13:18:07

标签: ruby csv ruby-on-rails-4 export-to-csv

我收到了错误

undefined method `form_for_results_path'

在我的代码中将数据导出到.csv文件。真的不知道我是否错过了什么。我在这里:

item_controller

def export
  CSV.open("result_data.csv", "w") do |csv|
    csv << ["cod", "genre", "den_cont"]
  end
end  

在视图中

<%= link_to 'Download CSV', form_for_results_path(@form), :method => :export %>  

由于

2 个答案:

答案 0 :(得分:2)

将其更改为此内容并阅读有关rails基础知识的更多信息。

 <%= link_to 'Download CSV', controller: :item, action: :export%> 

答案 1 :(得分:2)

在你的控制器中,你应该使用rails send_data方法做这样的事情:

def export
  data = # your data in csv format
  options = {
    :filename => "some_name.csv",
    :type     => 'text/csv'
  }

  send_data(data, options)
end

您还可以使用route_helper更改下载链接。在路线文件中添加一个条目

get 'items/export', :as 'download_items_data"

然后你的link_to可能如下所示:

link_to 'Download CSV', download_items_data_path