Rails send_data到csv

时间:2013-02-12 02:33:26

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我在模块中有一个方法,它生成一个名为to_csv的csv文件。

我的控制器操作:

def download_csv
    @rating = RatingSet.find(params[:rating_set_id])
    rating_id = @rating.id
     respond_to do |format|
                format.csv { send_data @rating.to_cvs(rating_id) }
  end
end

我的路线:

download_csv_co_view_rating_index GET  /co_view_rating/download_csv(.:format)     co_view_rating#download_csv

我的观点:

<small><%=link_to "Download CSV Data", :controller => "co_view_rating", :action => "download_csv", :rating_set_id => rating.id %></small>

点击链接后,链接将会打开:

  

co_view_rating / download_csv?rating_set_id = 6

但没有任何反应。我错过了什么/做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要将格式类型传递给link_to帮助程序:

<%= link_to "Download CSV Data", url_path(:format => :csv), ... %>

更新

如果您还需要包含参数,请执行以下操作:

<%= link_to "Download CSV Data", url_path(params.merge(format: "csv")), ... %>