基本上我正在处理三件事:(*前两件作品)
- 一个名为 Index() 的 Action,它接受一个 user_id 参数。
- CSV 导出功能
- 从索引视图到 CSV 导出文件的所需链接;理想情况下使用 link_to 方法。
前两个工作完美,我在使用 link_to 方法生成链接时磕磕绊绊,因为 CSV 文件需要使用 user_id 参数限定到正确的用户。
这是我的控制器代码:
def index
@pro = Pro.find_by_user_id(params[:user_id])
csv_code = CSV.generate do |csv|
@pro.accounts.each do |account|
csv << [account['name'],account['number']]
end
end
respond_to do |format|
format.html
format.csv { render :csv => csv_code}
end
end
index.html.haml: * 注意我缺少一个参数 1234,这需要生成一个 csv
= link_to image_tag "export.png", {:action => :index.csv}
用于生成 CSV 的 URL:
http://localhost:3000/.csv?user_id=1234
我确信这是一个超级容易解决的问题,而且我花了一个小时忽略了明显的解决方案。先感谢您!