Facebook评论w/Rails 4和Turbolinks

Chr*_* C. 5 facebook ruby-on-rails facebook-javascript-sdk turbolinks ruby-on-rails-4

我在启用Turbolinks的情况下将Facebook社交插件(特别是评论)添加到我的Rails 4应用程序时遇到了麻烦.我在turbolinks问题#62上遵循了这个例子,但无法让它工作.

我也在这里试过turbolink的解决方案,但无法让它工作.

根据这个答案修复turbolinks页面上的明显拼写错误也无效.

SDK未加载,控制台中没有错误.

码:

### view:
<div id="fb-root"></div>
<div class="fb-comments" data-href="<%= request.original_url %>"></div>

### coffeescript:
fb_root = null
fb_events_bound = false

$ ->
  loadFacebookSDK()
  bindFacebookEvents() unless fb_events_bound

bindFacebookEvents = ->
  $(document)
    .on('page:fetch', saveFacebookRoot)
    .on('page:change', restoreFacebookRoot)
    .on('page:load', ->
      FB.XFBML.parse()
    )
  fb_events_bound = true

saveFacebookRoot = ->
  fb_root = $('#fb-root').detach()

restoreFacebookRoot = ->
  if $('#fb-root').length > 0
    $('#fb-root').replaceWith fb_root
  else
    $('body').append fb_root

loadFacebookSDK = ->
  window.fbAsyncInit = initializeFacebookSDK
  $.getScript("//connect.facebook.net/en_US/all.js#xfbml=1")

initializeFacebookSDK = ->
  FB.init
    appId     : 'xxxxxxxxxxxx'
    channelUrl: '//www.mydomain.com/channel.html'
    status    : true
    cookie    : true
    xfbml     : true

### /public/channel.html
<script src="//connect.facebook.net/en_US/all.js"></script>
Run Code Online (Sandbox Code Playgroud)

-

谢谢.真的很感激帮助.

Gal*_*len 0

试试这个,让我知道它是否有效......

创建一个social.js.coffeeinassets/javascripts文件夹。

在里面写:

$(document).on 'page:change', ->
  FB.init({ status: true, cookie: true, xfbml: true });
Run Code Online (Sandbox Code Playgroud)