我在一个模块中有一个方法,它生成一个名为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_rate/download_csv?rating_set_id=6
但什么也没发生。我错过了什么/做错了什么?
您需要将格式类型传递给您的link_to助手:
<%= link_to "Download CSV Data", url_path(:format => :csv), ... %>
更新
如果你也需要包括参数,那么做:
<%= link_to "Download CSV Data", url_path(params.merge(format: "csv")), ... %>