社交分享的帖子
问题描述:
我想添加社交分享链接到我的rails帖子,没有宝石。这里是我当前的代码:社交分享的帖子
<!-- Facebook -->
<a onclick="javascript:window.open('http://www.facebook.com/sharer/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" aria-hidden="true"></i></a>
<!-- Twitter -->
<a onclick="javascript:window.open('https://twitter.com/intent/tweet?text=<%= @post.title %> by @someuser - &url=<%= url_for([@post, {only_path: false}]) %>', '_blank', 'width=800, height=500, top=200, left=300');void(0);"><i class="fa fa-twitter" aria-hidden="true"></i></i></a>
例帖子:https://mirrorcommunications.herokuapp.com/blog/how-to-not-get-booed-at-your-next-presentation
示例源:查看源代码:https://mirrorcommunications.herokuapp.com/blog/how-to-not-get-booed-at-your-next-presentation
的Facebook试图打开,然后崩溃和Twitter让我找不到错误的页面。任何帮助,将不胜感激。谢谢!
答
终于想通了:
帖子控制器:
# Social Sharing for Single Posts
def original_url
base_url + original_fullpath
end
查看:
<!-- Facebook -->
<a onclick="javascript:window.open('http://www.facebook.com/sharer/sharer.php?u=<%= request.original_url %>', '_blank', 'width=800, height=500, top=200, left=300');void(0);"><i class="fa fa-facebook" aria-hidden="true"></i></a>
<!-- Twitter -->
<a onclick="javascript:window.open('https://twitter.com/intent/tweet?text=<%= @post.title %> by @someuser - &url=<%= request.original_url %>', '_blank', 'width=800, height=500, top=200, left=300');void(0);"><i class="fa fa-twitter" aria-hidden="true"></i></i></a>
下面是文档:http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-original_url
答
您的url_for
函数输出的URLs不适用于Facebook/Twitter。社交网络不知道如何处理/blog/how-to-not-get-booed-at-your-next-presentation
- 他们需要该方案和域名,即https://mirrorcommunications.herokuapp.com/blog/how-to-not-get-booed-at-your-next-presentation
。
告诉我们,属该渲染,最终的HTML产生。 – ceejayoz
@ceejayoz为源文件添加了一个示例文章链接。 – bgilbank
那么这项工作? – bgilbank