尝试使用collection_select显示eamil时获取[email protected]

Nic*_*o77 16 ruby-on-rails cdn cloudflare

我使用Ruby 1.8.7与Rails 2.3.9.使用集合选择创建电子邮件地址下拉列表时,电子邮件地址不会显示.相反,我在下拉菜单中看到"[email protected]".是否有一些开关造成这种情况?

当它看到列表中的电子邮件时,似乎有一些javascript被应用于下拉列表中的每个项目.当我只列出用户名时,javascript就不存在了.

<script type="text/javascript">
/* <![CDATA[ */
3(function(){try{var s,a,i,j,r,c,l=document.getElementById("__cf_email__");a=l.getAttribute("cf_sec");if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
4/* ]]> */ 
<script/>
Run Code Online (Sandbox Code Playgroud)

Nic*_*o77 38

你是对的,这不是轨道相关的.

我发现这是由我们使用CloudFlare的CDN引起的.作为其安全设置的一部分,它们会模糊电子邮件.

您可以通过转到CloudFlare帐户上的CloudFlare设置并关闭电子邮件地址混淆来关闭此功能.

更新:这绝对是一个CloudFlare设置,可以阻止显示电子邮件(在我的active_admin中看到这种情况),但是知道您还可以在CloudFlare围绕电子邮件输出查找的输出中添加一些HTML:

<!--email_off--> email@example.com <!--/email_off-->
Run Code Online (Sandbox Code Playgroud)

参考:


Dhe*_*iri 5

添加到@Nicolo77 答案。

我遇到了同样的问题。云耀斑默认开启电子邮件地址混淆。您可以在信号灯仪表板上更改它:

登录->刮盾->电子邮件地址混淆->关闭