ruby-on-rails
2014-03-13 5 views 0 likes 
0

我正在开发Rails应用程序,我希望使用打开图形协议,以便在“articles”页面上perople可以链接到社交媒体(脸书,推特和谷歌+)到推荐/喜欢等文章。Rails - 未能正确设置打开图形url

作为本文的一部分,我试图在页面的head部分内为url设置og元标记。从代码部分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语句看帖子控制器

puts "===================" 
puts "url = " + post_url(@post).to_s 

我看到URL = http://quiet-fortress-3338.herokuapp.com/posts/drill-01-more-updates这正是我想要的,在这种情况下,所看到的是OG:URL。

我是一个正在恢复的COBOL pogrammer,有时候(也许还有更多)会失去我的这种东西。 如果我硬编码og:url,我会得到相应的页面。我已经试过的dfferent事情,包括#{}封闭POST_URL(@post)等提前 感谢NUMER和任何帮助,欢迎 皮埃尔

回答

0

你需要摆脱报价大约"post_url(@post)"。只需将其更改为post_url(@post)即可。请注意,在您的打印声明中,您没有用引号括起来,它的工作原理。

另外,无论在哪种情况下都不需要拨打to_s - post_url(@post)会返回一个字符串。

+0

感谢您的建议。当我删除引号时'>我得到运行时语法错误“未知的正则表达式选项 - dvlpr” – user1854802

+0

Yikes。你可以尝试在erb周围使用双引号,例如'”>''。 –

+0

我得到它的工作删除引号,但如果我去任何其他屏幕(例如不是后)我得到“没有路线匹配{:id =>无}缺少必需的键:[:id]” – user1854802

相关问题