Jor*_*dan 4 ruby csv ruby-on-rails
我正在尝试在Rails中创建一个简单的CSV导出.除了删除/存档表项目外,导出工作正常.我猜这是因为出口遇到了空白.
这是有效的:
= link_to transactions_path(format: :csv) do
Run Code Online (Sandbox Code Playgroud)
除非交易中缺少某个项目.
试过这个
= link_to transactions_path(format: :csv,skip_blanks: true) do
Run Code Online (Sandbox Code Playgroud)
但是在调用导出时我仍然得到一个ERR_INVALID_RESPONSE
TransactionController:
respond_to :html, :json, :csv
def index
@shops = current_user.shops
respond_with(@shops) do |format|
format.csv do
response.headers['Content-Type'] = 'text/csv'
response.headers['Content-Disposition'] = "attachment; filename=transactions-#{Time.now.strftime('%Y%m%d%H%M')}.csv"
render inline: @shops.to_csv
end
end
end
Run Code Online (Sandbox Code Playgroud)
有什么建议?
小智 6
更改to_csv以传递skip_blanks.
@shops.to_csv(skip_blanks: true)
Run Code Online (Sandbox Code Playgroud)