字符 "d' " 显示时变为“d'”
Character "d' " becoming " d' " when displayed
所以我从 AJAX 中的 API 请求中得到了这个地址 7 rue la Tour d'Auvergne
。
但是当我将它输入到我的视图中,甚至只是像这样显示它时
get_adress.js.erb
alert('<%= @sellsy_address.address %>')
$('#address').val('<%= @sellsy_address.address unless @sellsy_address.blank? %>');
我知道了7 rue la Tour d'Auvergne
知道如何让 d'
保持原样吗?我尝试用不同的方式对其进行编码或解码,但没有结果。
提前致谢
编辑
如果我使用 html_safe 的原始格式,我的 js.erb 就根本不会加载了
尝试将 html_safe
与 escape_javascript
(或 j
)一起使用,如下所示:
alert('<%= j @sellsy_address.address.html_safe %>');
或者,您可以跳过 j
,但将单引号更改为双引号,如下所示:
alert("<%= @sellsy_address.address.html_safe %>");
If I use raw of html_safe, my js.erb just does not load at all anymore
那是因为 7 rue la Tour d'Auvergne
中的 '
在单引号内导致语法错误。检查以下示例;
单引号,不带escape_javascript
(或j
)
alert('<%= @sellsy_address.address.html_safe %>');
//generated code:
alert('7 rue la Tour d'Auvergne');
如您所见,警报获取字符串 '7 rue la Tour d'
,然后需要一个右括号 ()
),因此您会收到一个错误,不会显示任何警报。
单引号,带escape_javascript
(或j
)
alert('<%= j @sellsy_address.address.html_safe %>');
//generated code:
alert('7 rue la Tour d\'Auvergne');
现在 '
已经被转义并且不再是结束引号,因此警报可以正确显示。
双引号,不带 escape_javascript
(或 j
)
alert("<%= @sellsy_address.address.html_safe %>");
//generated code:
alert("7 rue la Tour d'Auvergne");
这次 '
不需要转义,因为字符串用双引号 ('" "') 括起来,这避免了与单引号 ('
) 的任何冲突。
所以我从 AJAX 中的 API 请求中得到了这个地址 7 rue la Tour d'Auvergne
。
但是当我将它输入到我的视图中,甚至只是像这样显示它时
get_adress.js.erb
alert('<%= @sellsy_address.address %>')
$('#address').val('<%= @sellsy_address.address unless @sellsy_address.blank? %>');
我知道了7 rue la Tour d'Auvergne
知道如何让 d'
保持原样吗?我尝试用不同的方式对其进行编码或解码,但没有结果。
提前致谢
编辑
如果我使用 html_safe 的原始格式,我的 js.erb 就根本不会加载了
尝试将 html_safe
与 escape_javascript
(或 j
)一起使用,如下所示:
alert('<%= j @sellsy_address.address.html_safe %>');
或者,您可以跳过 j
,但将单引号更改为双引号,如下所示:
alert("<%= @sellsy_address.address.html_safe %>");
If I use raw of html_safe, my js.erb just does not load at all anymore
那是因为 7 rue la Tour d'Auvergne
中的 '
在单引号内导致语法错误。检查以下示例;
单引号,不带escape_javascript
(或j
)
alert('<%= @sellsy_address.address.html_safe %>');
//generated code:
alert('7 rue la Tour d'Auvergne');
如您所见,警报获取字符串 '7 rue la Tour d'
,然后需要一个右括号 ()
),因此您会收到一个错误,不会显示任何警报。
单引号,带escape_javascript
(或j
)
alert('<%= j @sellsy_address.address.html_safe %>');
//generated code:
alert('7 rue la Tour d\'Auvergne');
现在 '
已经被转义并且不再是结束引号,因此警报可以正确显示。
双引号,不带 escape_javascript
(或 j
)
alert("<%= @sellsy_address.address.html_safe %>");
//generated code:
alert("7 rue la Tour d'Auvergne");
这次 '
不需要转义,因为字符串用双引号 ('" "') 括起来,这避免了与单引号 ('
) 的任何冲突。