社交媒体共享Ruby on Rails中的按钮

时间:2017-03-28 09:56:29

标签: ruby-on-rails social-media

我正在尝试在Ruby on Rails的博客应用中添加自定义社交媒体共享按钮。对我来说很重要的是,弹出窗口会显示共享“帖子”,这意味着我想要包含Javascript。

不幸的是,这段代码不起作用:

  <!-- Twitter -->
  <a oneclick="javascript:window.open('http://twitter.com/share?text=<%= @post.title %> 
  by Martin Bortowski - &amp;url=<%= url_for([@post, {only_path: false}]) %>',
  '_blank', 'width=800, height=500, top=200, left=300');void(0);"><i class="fa fa-twitter"></i></a>

  <!-- Facebook -->
  <a oneclick="javascript:window.open('http://facebook.com/sharer.php?u=<%= url_for([@post, {only_path: false}]) %>',
  '_blank', 'width=800, height=500, top=200, left=300');void(0);"><i class="fa fa-facebook"></i></a>

  <!-- Google Plus -->
  <a oneclick="javascript:window.open('https://plus.google.com/share?url=<%= url_for([@post, {only_path: false}]) %>',
  '_blank', 'width=800, height=500, top=200, left=300');void(0);"><i class="fa fa-google-plus"></i></a>

当我点击按钮时没有任何反应。我错过了什么?有谁可以帮助我吗?如果您需要进一步的信息,请告诉我。

2 个答案:

答案 0 :(得分:5)

在轨道上用于实现社交共享功能的ruby中有许多可用的宝石,下面是几个链接

  1. https://github.com/huacnlee/social-share-button
  2. https://github.com/hermango/shareable

答案 1 :(得分:2)

简单,无需使用任何JavaScript

在您的gem文件中添加gem 'social-share-button', '~> 1.2',然后 bundle install

运行此命令rails generate social_share_button:install

它将创建config/initializers/social_share_button.rb打开该文件并添加以下代码

SocialShareButton.configure do |config|
  config.allow_sites = %w(twitter facebook instagram WhatsApp)
end

保存并重新启动服务器。

在您的视图中仅使用下面的代码行

<%= social_share_button_tag([s.image_url, s.title, s.category], :allow_sites => %w(twitter facebook whatsapp_web telegram email pinterest google_plus)) %>

就这样快乐编码