2010-10-11 30 views
15

J'utilise Ruby 1.8.7 avec Rails 2.3.9. Lorsque vous créez une liste déroulante d'adresses e-mail à l'aide de la sélection de collection, les adresses e-mail ne s'affichent pas. Au lieu de cela, je vois "[email protected]" dans la liste déroulante. Y a-t-il un interrupteur qui cause cela?Obtenir [email protected] en essayant d'afficher eamil en utilisant collection_select

Il semble y avoir du javascript qui est appliqué à chaque élément dans le menu déroulant par rails lorsqu'il voit un email dans la liste. Le javascript n'est pas là quand je liste juste les noms d'utilisateur.

<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/> 
+0

est l'attribut 'email' accessible (liste blanche)? – Coderama

+0

Oui j'ai attr_accessible: email – Nicolo77

+0

Cela ne ressemble pas à Rails. Pourriez-vous poster la liste des fichiers JavaScript inclus dans la page? – Hoa

Répondre

37

Vous avez raison, ce n'est pas lié aux rails.

J'ai trouvé que cela causé par le CDN nous utilisons CloudFlare. Dans le cadre de leurs paramètres de sécurité, ils masquent les e-mails.

Vous pouvez désactiver cette option en accédant aux paramètres CloudFlare de votre compte CloudFlare et désactiver l'obfuscation d'adresse e-mail.

Mise à jour: Ceci est certainement un paramètre CloudFlare qui empêche des e-mails d'être affiché (vu cela se produire dans mon active_admin), mais sachez que vous pouvez également ajouter un peu de HTML à la sortie que CloudFlare va chercher autour de la sortie e-mail :

<!--email_off--> [email protected] <!--/email_off--> 

Référence:

+0

c'est juste wow. Je n'ai jamais su que cloudflare avait une telle "sécurité" caractéristique. J'ai travaillé de mon côté quand j'ai désactivé l'obscurcissement des emails. Je ne suis pas vraiment sûr si faire la méthode serait bénéfique. Parce que dans mon cas, une page d'administration active est obscurcie, ce qui n'est techniquement même pas accessible par les robots d'exploration et autres. – olleh

+0

Toujours en train de travailler ... je n'aurais jamais pensé que ce serait le cloudflare qui provoquerait ça ... Merci! :) –

0

Le devrait être un commutateur lorsque vous allez dans Paramètres de sécurité -> Obscurcissement adresse e-mail.

+0

où? Pourquoi? certains détails aideraient vraiment. – nurinur

+0

Bien que peut-être qu'il aurait pu l'élaborer plus, je pense que cette réponse était finalement juste. -1 est un peu trop dur, donc je l'ai upvote; p – Quv

4

Ajout à @ Nicolo77 réponse.

J'ai rencontré le même problème. Flare de cloud par défaut Activer l'obfuscation de l'adresse e-mail. Vous pouvez le changer sur votre tableau de bord pourrait flamber:

Login-> Gratter Shield-> Adresse e-mail obscurcissement -> Désactiver