Разрыв строки и лишние пробелы, случайно отображаемые в JavaScript

Я работаю с Rails 5.2, ruby ​​2.4.1 и использую базу данных Postgres(PG). Я пытаюсь установить переменные JavaScript в значения, которые находятся в моей базе данных. Я успешен на всех из них, кроме первого столбца под названием "имя". По какой-то причине два лишних пробела добавляются перед каждым именем. Затем он в конечном итоге выдает ошибку на одном из них, говоря неверный или неожиданный токен. Когда он выдает ошибку, код выглядит так, как будто он вставляет разрыв строки.

fullName: '
Chase  Dougherty',
firmName: 'Chase Bank', etc...

все, прежде чем это выглядит

fullName: '  Example Name',
firmName: 'Example Bank'. etc...

Мое имя столбца в моей базе данных является правильным, потому что я могу нажать "показать" в каждой строке, и нет лишних пробелов.

Если я удаляю info.name все остальное работает. Если я уберу знак равенства из тегов erb, он будет работать, но моя переменная javascript ничего не будет содержать (очевидно). Эта ошибка происходит при загрузке. У кого-нибудь есть идеи, которые я могу проверить, чтобы решить эту проблему? Вот мой код на случай, если вы захотите проверить его.

<script>

setContents = function setsPostgresDatatoJavascriptVariables(){

<% collective.each do |info| %>
typeMarkers = [
  {
    fullName: '<%= info.name %>',
    firmName:'<b><%= info.firm_name %></b>',
    firmNumber:'<b><%= info.firm_number %></b>',
    adjustmentType:'<b><%= info.adjustment_type %></b>',
    address:'<%= info.address_1 %>',
  },
];
<% end %>
}

<script>

1 ответ

Решение

"Мое имя столбца в моей базе данных является правильным, потому что..."

На странице показа ваш браузер будет сгущать пробелы при его рендеринге. Вы должны сделать вид источника, который покажет любые пробелы.

Если вы видите лидирующие пробелы там, то лидирующие пробелы находятся в вашей базе данных. Вы могли бы позвонить strip() удалить это.

Другие вопросы по тегам