【问题标题】:Facebook share button is not working?Facebook 分享按钮不起作用?
【发布时间】:2016-11-01 12:11:59
【问题描述】:

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

<%= 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>

show.html.erb(房间)

...
<!-- Do you like this Accommodation? -->
<%= link_to image_tag('facebook_icon_red.png'), "http://www.facebook.com/sharer.php?u=", :target => :blank %>

FB.ui(
   {
     method: 'feed',
     name: 'Facebook Dialogs',
     link: 'http://developers.facebook.com/docs/reference/dialogs/',
     picture: 'http://fbrell.com/f8.jpg',
     caption: 'Reference Documentation',
     description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
     message: 'Facebook Dialogs are easy!'
   },
   function(response) {
     if (response && response.post_id) {
       alert('Post was published.');
     } else {
       alert('Post was not published.');
     }
   }
);

【问题讨论】:

  • 你用feed方法调用FB.ui干什么?
  • facebook javascript API 应该允许我分享并给我回电。 source
  • 是的,但它与您的链接没有任何关系,并且仅该链接就会触发此处的共享。您的 FB.ui 调用与该链接无关,并且无需用户单击任何内容即可自动发生。这没什么意义。

标签: ruby-on-rails facebook share link-to


【解决方案1】:

你的link_to这样放:

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

这应该适合你。

【讨论】:

  • 我仍然需要手动输入一个 URL :( 但感谢您尝试帮助我!
  • 需要插值时使用double quotes
  • 感谢分配!好的,如果我在 # 中使用双引号,我仍然必须手动输入 URL。如果我使用没有# 的双引号,当我单击链接时会发生一些奇怪的事情。一个新标签会立即打开和关闭?!有什么提示吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多