2012-02-28 10 views
23

Me gustaría utilizar el código universal y me encontré con dificultades para lograr la funcionalidad más básica.¿Los comentarios de Disqus no se cargan en el host local?

me gustaría crear un nombre corto para prueba y uno para mi despliegue, lo que hice desde el panel de administración Disqus.

Este es el código Disqus en mi programa de acción:

# inside show.html.erb 
<%= render raw 'comments' %> 

# partial "comments" 

    <div id="disqus_thread"></div> 
    <script type="text/javascript"> 
     var disqus_shortname = '<%= Post::DISQUS_SHORTNAME %>'; 
     var disqus_identifier = '<%= @post.id %>'; 
     var disqus_url = '<%= url_for([:blog, @topic, @post])%>'; 
     (function() { 
      var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 
      dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; 
      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 
     })(); 
    </script> 
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> 
    <a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a> 

En mi modelo defino Post, defino mi nombre abreviado de este modo:

DISQUS_SHORTNAME = if Rails.env.development? 
         "dev-shortname".freeze 
        else 
         "shortname".freeze 
        end 

puedo confirmar la ruleta de carga es funcionando, pero eso es todo. ¿Me estoy perdiendo algo obvio? Cuando trato de incluir only_path: false como una segunda opción en mi url_for call, recibo una excepción que indica que he proporcionado muchos argumentos para el método. De lo contrario, mi problema simplemente se bloquea.

Respuesta

-3

Disqus no funciona en localhost hasta donde yo sé. Siempre ha trabajado en el sitio de producción para mí. Creo que comprueba el nombre de host contra el nombre de host registrado.

14

Ninguna de las soluciones anteriores dio resultado para mí a partir de septiembre de 2013.

Para conseguir que funcione he tenido que añadir localhost a la lista "Dominios de confianza" en esta página:

http: // [disqus_shortname] .disqus.com/admin/settings/avanzado/

y también utilizar el "universal C oda" encontró abajo para incrustarlo en mi blog:

http: // [disqus_shortname] .disqus.com/admin/settings/universalcode/

Y funciona! :)

+7

Rechaza localhost: "Este nombre de dominio no es válido. El dominio debe formatearse como 'ejemplo.com'" –

1

La solución recomendada parece ser el registro de múltiples nombres cortos, también conocidos como sitios. Esto funcionó para mí. Por ejemplo, balloons y balloons-dev.

Asegúrate de modificar el Javascript que te dan para reemplazar el shortname en la línea que está debajo del comentario sobre "no modificar", si quieres establecer dinámicamente qué sitio estás usando en función de tu entorno (ej. "balloons" if not settings.DEBUG else "balloons-dev").

https://help.disqus.com/customer/portal/articles/1053796-best-practices-for-staging-development-and-preview-sites

Cuestiones relacionadas