我正在使用Rails 5.2,ruby 2.4.1,以及使用Postgres(PG)数据库。我试图将javascript变量设置为我的数据库中的值。除了名为“name”的第一列之外,我在所有这些方面都取得了成功。出于某种原因,在每个名称之前添加两个额外的空格。然后它最终会抛出一个错误,其中一个说无效或意外的令牌。当它抛出错误时,代码看起来像是插入一个换行符。
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>
答案 0 :(得分:0)
“我的数据库中的我的名字列是正确的,因为......”
在展示页面上,您的浏览器会在渲染时压缩空格。你应该做一个视图源,它将显示任何空格。
如果您在那里看到前导空格,那么前导空格就在您的数据库中。您可以致电strip()
将其删除。