ruby-on-rails – 尝试使用collection_select显示eamil时获取[email protected]

我使用 Ruby 1.8.7与Rails 2.3.9.当使用collection select创建电子邮件地址下拉列表时,电子邮件地址不会显示.相反,我在下拉列表中看到“[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,16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
4/* ]]> */ 
<script/>

解决方法

Hoa你是正确的这不是rails相关的.

我发现这是由CDN造成的,我们使用的是CloudFlare.作为其安全设置的一部分,它们掩盖了电子邮件.

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

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

<!--email_off--> email@example.com <!--/email_off-->

参考:

> What is email address obfuscation

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...