我正在尝试在Ruby on Rails的博客应用中添加自定义社交媒体共享按钮。对我来说很重要的是,弹出窗口会显示共享“帖子”,这意味着我想要包含Javascript。
不幸的是,这段代码不起作用:
<!-- Twitter -->
<a oneclick="javascript:window.open('http://twitter.com/share?text=<%= @post.title %>
by Martin Bortowski - &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>
当我点击按钮时没有任何反应。我错过了什么?有谁可以帮助我吗?如果您需要进一步的信息,请告诉我。
答案 0 :(得分:5)
在轨道上用于实现社交共享功能的ruby中有许多可用的宝石,下面是几个链接
答案 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)) %>
就这样快乐编码