Rails 覆盖 CSV

Car*_*ssi 3 csv controller export ruby-on-rails

我目前正在使用这段代码:

CSV.open "application.csv", "a+" do |csv|

  csv << [ "#{params[:first_name]}", "#{params[:last_name]}","#{params[:company]}","#{params[:email]}", "#{params[:phone]}", "#{params[:business]}", "#{params[:services]}", "#{params[:employees]}", "#{params[:turnover]}"  ]

end
Run Code Online (Sandbox Code Playgroud)

每次都会向 csv 写入额外的一行,我可以用什么代替"a+"每次都会覆盖整个文件,所以它总是只有一行?

Mar*_*pka 5

你应该使用'w'模式。顺便说一句,你为什么写"#{params[:first_name]}"在哪里params[:first_name]就足够了?代码应如下所示:

CSV.open 'application.csv', 'w' do |csv|
  csv << [params[:first_name], params[:last_name], params[:company], params[:email], params[:phone], params[:business], params[:services], params[:employees], params[:turnover], params[:c4l_services]]
end
Run Code Online (Sandbox Code Playgroud)