Я использую ActionMailer для отправки генерируемого файла CSV. Содержимое CSV выглядит следующим образом:
download_file = "Requestor Name,Job Name,Number of workers needed,Number of workers ranked,Venue,Street Address,City,State,Zip code,List of required badges,List of accepted Worker's name & email ,Job Request state,Flexible Start Time,Job Request Start Time,Job Request Max Start Time,List of Selected Date,Job Request duration,Multi-day Job,Multi-day Job ID,Number of unpaid breaks,Break minutes\nJohn Doe,Request name 1,1,,,575 Market street,San Francisco,CA,94105,\"\",\"\",posted,No,\"Jun 3 2019, 4:03pm\",,\"\",,No,,,\nJohn Doe,Request name 1,1,,,575 Market street,San Francisco,CA,94105,\"\",\"\",posted,No,\"Jun 3 2019, 4:03pm\",,\"\",,No,,,\nJohn Doe,Request name 1,1,,,575 Market street,San Francisco,CA,94105,\"\",\"\",posted,No,\"Jun 3 2019, 4:03pm\",,\"\",,No,,,\n"
Затем я назначаю его вложением:
attachments["#{file_name}_#{export_time}.csv"] = download_file
Затем я проверяю содержимое. Тест не пройден. Я вижу, что вложение выглядит так:
"Requestor Name,Job Name,Number of workers needed,Number of workers ranked,Venue,Street Address,City,State,Zip code,List of required badges,List of accepted Worker's name & email ,Job Request state,Flexible Start Time,Job Request Start Time,Job Request Max Start Time,List of Selected Date,Job Request duration,Multi-day Job,Multi-day Job ID,Number of unpaid breaks,Break minutes\r\nJohn Doe,Request name 1,1,,,575 Market street,San Francisco,CA,94105,\"\",\"\",posted,No,\"Jun 3 2019, 4:03pm\",,\"\",,No,,,\r\nJohn Doe,Request name 1,1,,,575 Market street,San Francisco,CA,94105,\"\",\"\",posted,No,\"Jun 3 2019, 4:03pm\",,\"\",,No,,,\r\nJohn Doe,Request name 1,1,,,575 Market street,San Francisco,CA,94105,\"\",\"\",posted,No,\"Jun 3 2019, 4:03pm\",,\"\",,No,,,\r\n"
Обратите внимание, что теперь весь код \n
заменен на код \r\n
. Это произошло при обновлении с Rails 4.1 до 4.2. Что здесь происходит?
Кроме того, я не могу редактировать вложение. Тело вложения имеет атрибут raw_source
, но ни тело, ни raw_source не являются редактируемыми, поэтому я не могу добавить его. Что я могу сделать здесь, чтобы удалить новый \r
?