javascript ruby-on-rails disqus

javascript - ¿Los comentarios de Disqus no se cargan en localhost?



ruby-on-rails (5)

Me gustaría usar el código universal y me he encontrado con dificultades para realizar la funcionalidad más básica.

Me gustaría crear un nombre corto para la prueba y otro para mi implementación , lo que hice desde el panel de administración de Disqus.

Aquí está el código disqus en mi acción show:

# 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 corto así:

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

Puedo confirmar que la rueda de carga está funcionando pero eso es todo. ¿Me estoy perdiendo algo obvio? Cuando trato de incluir only_path: false como una segunda opción en mi llamada url_for, recibo una excepción que indica que he proporcionado muchos argumentos al método. De lo contrario mi disqus simplemente cuelga.



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



La solución recomendada parece ser el de registrar varios nombres cortos, también conocidos como sitios. Esto funcionó para mí. Ej., balloons y balloons-dev .

Asegúrese de modificar el Javascript que le dan para reemplazar el nombre corto en la línea que está debajo del comentario sobre "no modificar", si desea establecer de forma dinámica qué sitio está usando según su entorno (por ejemplo, "balloons" if not settings.DEBUG else "balloons-dev" ).

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


Ninguna de las soluciones anteriores funcionó para mí a partir de septiembre de 2013.

Para hacerlo funcionar, tuve que agregar localhost a la lista de "Dominios de confianza" en esta página:

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

y también use el "Código universal" que se encuentra a continuación para integrarlo en las publicaciones de mi blog:

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

¡Y funciona! :)