将Facebook Javascript SDK加载到Ruby on Rails应用程序中

将Facebook Javascript SDK加载到Ruby on Rails应用程序中,javascript,ruby-on-rails,facebook,devise,facebook-javascript-sdk,Javascript,Ruby On Rails,Facebook,Devise,Facebook Javascript Sdk,我已经研究了这个问题的其他答案,但是,我还没有设法让它起作用 我正在尝试制作一个简单的Rails应用程序,它允许Facebook用户以良好的布局查看他们的活动。为了做到这一点,我使用Omniauth和Desive允许用户通过Facebook登录。现在,我想将用户的事件添加到我拥有的事件模型中。我曾经设法让Javascript SDK在Rails之外工作,但没有在Rails内部工作 我想在用户转到事件的new.html.erb视图时加载SDK。也就是说,我希望创建基于Facebook事件的事件 在

我已经研究了这个问题的其他答案,但是,我还没有设法让它起作用

我正在尝试制作一个简单的Rails应用程序,它允许Facebook用户以良好的布局查看他们的活动。为了做到这一点,我使用Omniauth和Desive允许用户通过Facebook登录。现在,我想将用户的事件添加到我拥有的事件模型中。我曾经设法让Javascript SDK在Rails之外工作,但没有在Rails内部工作

我想在用户转到事件的new.html.erb视图时加载SDK。也就是说,我希望创建基于Facebook事件的事件

在new.html.erb中,我有以下代码:

window.fbAsyncInit = function() {
  FB.init({
    appId      : 'MYAPPID',
    xfbml      : true,
    version    : 'v2.5'
  });
//Other Facebook related code goes here
}

(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/sdk.js";
 fjs.parentNode.insertBefore(js, fjs);     
}(document, 'script', 'facebook-jssdk'));
唉,这似乎不起作用。 在控制台中,我得到以下错误: 未捕获引用错误:未定义FB 我是不是在资产管道上遗漏了什么?这是turbolinks的问题吗


任何帮助都将不胜感激

“这让我相信异步加载没有发生”-加载SDK的代码在哪里?在哪个点/行号上会出现“FB未定义”错误?我认为它在FB.init({…})上;行,因为如果我在那之前放一个console.log,它会工作,但如果我在那之后放一个,它不会。你是在普通浏览器中查看的,对吗?您是否通过HTTP调用文档?否则,用于嵌入SDK的协议相关URL(
js.src=“//connect.facebook.net/…
)将无法工作。能否在浏览器的开发工具/网络面板中查看SDK是否正确加载?是的,我使用的是Chrome v46。在网络窗格中,我会看到SDK.js两次。第一个SDK的状态为307(内部重定向),而第二个有304(未修改)。如果我点击第二个,响应包含缩小的JS,那么我假设它加载正确?