У меня есть AngularJs + Rails.
У меня есть форма с текстовым полем, где пользователь может написать любой текст с разрывными строками. Когда пользователь отправляет форму, сообщение сохраняется в БД и отправляется по электронной почте другому пользователю. Отправленное письмо должно содержать разрывы строк.
Дело в том, что формат сообщения отлично работает в производстве. Однако он перестал работать в разработке. По-видимому, мы не сделали конкретного обновления c в коде, который влияет на это, но мы переносим наши Rails и mysql на более новую версию в данный момент в разработке. Итак, мне интересно, связано ли это с этим, однако, я не могу увидеть, где именно проблема.
Пожалуйста, рассмотрим два различных поведения с примером:
Мы отправим один и тот же пример сообщения в обоих средах, поэтому в нашей текстовой области мы пишем:
This is a test message
with a some break lines.
Lorem ipsum whatever.
Это текстовое сообщение, которое отправляется для хранения в поле varchar в моей базе данных mysql: This is a test message\n\nwith a some break lines.\n\nLorem ipsum whatever.
Этот текст, который я вижу, хранится как в базе данных разработки, так и в рабочей базе данных: This is a test message with a some break lines. Lorem ipsum whatever.
Это шаблон для отправки электронного письма как в процессе разработки, так и в производстве (без изменений): <p class="p1" style="white-space: pre-wrap;"><%= @offer.message_pre_offer %></p>
Это журнал, который я вижу, когда сообщение отправляется по электронной почте в процессе разработки. :
<p class=3D"p1" style=3D"white-space: pre-wrap; margin: 1em 0; padding: 0=
; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; color: #606=
060; font-family: Source Sans Pro, Helvetica Neue, Helvetica, Arial, sans=
-serif; font-size: 15px; line-height: 150%; font-weight: 300;" align=3D"l=
eft">This is a test message=0D
=0D
with a some break lines.=0D
=0D
Lorem ipsum whatever.</p>=0D
<style>=0D
К сожалению, я не вижу этот подробный журнал в рабочей среде, потому что уровень отладки не настроен на отладку.
Когда я открываю сообщение о том, что тестовый пользователь попадает в gmail в веб-почте Вот код, который я вижу в инструментах разработчика в Chrome:
Разработка работает неправильно:
<p style="white-space:pre-wrap;margin:1em 0;padding:0;color:#606060;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;line-height:150%;font-weight:300" align="left">This is a test message
with a some break lines.
Lorem ipsum whatever.</p>
Вот как это выглядит в веб-почте gmail: ![enter image description here](https://i.stack.imgur.com/0yJKG.png)
Производство работ королевский штраф:
<p style="color:#606060;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;font-weight:300;line-height:150%;margin:1em 0;padding:0;text-align:left;white-space: pre-line;" align="left">This is a test message
with a some break lines.
Lorem ipsum whatever.</p>
Вот так это выглядит в производстве: ![enter image description here](https://i.stack.imgur.com/5pcmm.png)
Вероятно, это вообще не связано, купите мои версии рельсов:
Разработка: Rails 5.2.4, mysql 8.0.18
Производство: Rails 4.4.0, mysql Версия 14.14 Distrib 5.5.40, для debian- linux -gnu (x86_64) с использованием readline 6.3