我正在开发一个Rails应用程序,我希望使用开放图形协议,以便在"文章"页面人员可以链接到社交媒体(Facebook,推特和谷歌+)推荐/喜欢这篇文章。
作为我努力的一部分,在页面的head部分内为URL设置og元标记失败。从代码partial ogmeta.html.erb
<meta property="og:title" content='<%= meta[:title] || "DrillInvestor" %>'>
<meta property="og:type" content='<%= meta[:type] || "website" %>'>
<meta property="og:image" content='<%= meta[:image] || "http://www.whatever.com/image.jpg" %>'>
<meta property="og:url" content='<%= meta[:url] || "post_url(@post)" %>'>
当我查看页面源时,我看到了
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<meta property="og:title" content='DrillInvestor'>
<meta property="og:type" content='website'>
<meta property="og:image" content='http://www.whatever.com/image.jpg'>
<meta property="og:url" content='post_url(@post)'>
我想通过帖子控制器中的print语句看到的url是什么?
puts "==================="
puts "url = " + post_url(@post).to_s
我看到url = http://quiet-fortress-3338.herokuapp.com/posts/drill-01-more-updates这就是我想要的,在这种情况下,看作是og:url。
我是一名正在恢复的COBOL计划者,有时候(或许还有更多)会因为这种事情而迷失方向。 如果我硬编码og:url我会得到合适的页面。我尝试了一些不同的东西,包括#{}括起post_url(@post)等。 在此先感谢,欢迎任何帮助 皮尔
答案 0 :(得分:0)
您需要摆脱"post_url(@post)"
周围的引号。只需将其更改为post_url(@post)
即可。请注意,在您的print语句中,您没有将其括在引号中,并且它可以正常工作。
另外,在任何一种情况下都不需要调用to_s
- post_url(@post)
会返回一个字符串。