我想使用通用代码,并且在完成最基本功能方面遇到了困难。
我想为测试创建一个短名称,为我的部署创建一个短名称,我是从Disqus管理面板创建的。
以下是我的show动作中的disqus代码:
# 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>
在我的模型中,我定义了Post
,我定义了我的短名称:
DISQUS_SHORTNAME = if Rails.env.development?
"dev-shortname".freeze
else
"shortname".freeze
end
我可以确认加载微调器正在运行,但就是这样。我错过了一些明显的东西吗当我尝试在我的url_for调用中包含only_path: false
作为第二个选项时,我得到一个异常,说明我已经提供了该方法的许多参数。否则我的disqus就会挂起。
答案 0 :(得分:15)
你应该设置它以使它工作:
var disqus_developer = 1; // this would set it to developer mode
参考: http://ray247.wordpress.com/2009/09/02/how-to-develop-with-disqus-on-localhost/
答案 1 :(得分:13)
截至2013年9月,上述所有解决方案均无效。
要使其正常运行,我必须将 localhost 添加到此页面上的“受信任域”列表中:
的http:// <强> [disqus_shortname] 强> .disqus.com /管理/设定/先进/
并使用下面的“通用代码”将其嵌入我的博文:
的http:// <强> [disqus_shortname] 强> .disqus.com /管理/设定/ universalcode /
它有效! :)
答案 2 :(得分:10)
尝试设置disqus_url
以匹配您注册的网站网址。
答案 3 :(得分:1)
推荐的解决方案似乎是注册多个短名称,即网站。这对我有用。例如,balloons
和balloons-dev
。
请务必修改他们为您提供的Javascript,以替换关于&#34的评论下方的行中的短名称;不要修改&#34;,如果想要动态设置您基于哪个网站使用的在您的环境中(例如,"balloons" if not settings.DEBUG else "balloons-dev"
)。
答案 4 :(得分:0)
现在可能已经很旧了,但是我通过在脚本和Disqus设置中都将URL保留为空来解决了该问题
答案 5 :(得分:-3)
Disqus对localhost不起作用。它一直只为我在生产现场工作。我相信它会根据注册的主机名检查主机名。