Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Facebook共享按钮不工作?_Ruby On Rails_Facebook_Share_Link To - Fatal编程技术网

Ruby on rails Facebook共享按钮不工作?

Ruby on rails Facebook共享按钮不工作?,ruby-on-rails,facebook,share,link-to,Ruby On Rails,Facebook,Share,Link To,我有一个房间模型,我想为facebook创建一个共享按钮。所以我决定用SharerURL方法来实现这一点。我想在show.html.erb(房间视图)上有一个facebook图标,用户或访客可以在facebook上共享房间。当我点击链接时,我会被重定向到facebook,在那里我必须手动输入链接,而不是自动输入我想要共享的链接。 如果我正在将show.html.erb链接更新为: <%= link_to image_tag('facebook_icon_red.png'), 'http:/

我有一个房间模型,我想为facebook创建一个共享按钮。所以我决定用SharerURL方法来实现这一点。我想在show.html.erb(房间视图)上有一个facebook图标,用户或访客可以在facebook上共享房间。当我点击链接时,我会被重定向到facebook,在那里我必须手动输入链接,而不是自动输入我想要共享的链接。 如果我正在将show.html.erb链接更新为:

<%= link_to image_tag('facebook_icon_red.png'), 'http://www.facebook.com/sharer.php?u=<%= yield :url %>', :target => :blank %>
:空白%>
然后我得到一个错误:

我如何才能使这项工作正常进行?

application.html.erb

<!DOCTYPE html>
<html>
  <head>
...
...
    <!-- for Facebook -->          
    <meta property="og:title" content="<%= @room.listing_name %>" />
    <meta property="og:type" content="room" />
    <meta property="og:image" content="" />
    <meta property="og:url" content="<%= room_url(@room) %>" />
    <meta property="og:description" content="<%= @room.detailed_description %>" />
  </head>

<body>
    <!-- Facebook Sharing Settings-->
    <div id="fb-root">
    </div>
    <script src="http://connect.facebook.net/en_US/all.js" type="text/javascript"></script>
    <script type="text/javascript">
    FB.init({
        appId: MY_ID(SOME NUMBERS),
        status: true,
        cookie: true,
        xfbml: true
    });
    FB.Canvas.setAutoResize();
    </script>
...
...
...
  </body>
</html>

...
...
FB.init({
appId:MY_ID(一些数字),
状态:正确,
曲奇:是的,
xfbml:对
});
FB.Canvas.setAutoResize();
...
...
...
show.html.erb(房间)

。。。
:空白%>
FB.ui(
{
方法:“提要”,
名称:“Facebook对话”,
链接:'http://developers.facebook.com/docs/reference/dialogs/',
图片:'http://fbrell.com/f8.jpg',
标题:“参考文档”,
描述:“对话框为应用程序与用户交互提供了一个简单、一致的界面。”,
留言:“Facebook对话很简单!”
},
功能(响应){
if(应答和应答后id){
警报(“发布帖子”);
}否则{
警报(“未发布帖子”);
}
}
);

你的链接是这样放置的:

<%= link_to image_tag('facebook_icon_red.png'), "http://www.facebook.com/sharer.php?u=#{yield :url }", :target => :blank %>
:空白%>

这应该对您有用。

我仍然需要手动输入URL:(但感谢您尝试帮助我!当您需要插值时,请使用
双引号
)。如果我将双引号与#一起使用,我仍然需要手动键入URL。如果我使用不带#的双引号,当我单击链接时,会发生奇怪的事情。一个新选项卡将立即打开和关闭?!有任何问题吗提示?你为什么要用feed方法调用FB.ui?facebook javascript API应该允许我共享并给我一个回调。是的,但它与你的链接没有任何连接,只有该链接才会触发此处的共享。你的FB.ui调用与该链接无关,并且在用户不点击任何内容的情况下自动发生。Th至少没有什么意义。
<%= link_to image_tag('facebook_icon_red.png'), "http://www.facebook.com/sharer.php?u=#{yield :url }", :target => :blank %>