如何使用fb meta og标签分享帖子描述

时间:2018-05-03 06:43:03

标签: ruby-on-rails ruby-on-rails-4

我想使用og meta将我的帖子分享到facebook分享。一切正常,除了帖子的描述

我试着把 <meta property='og:description' content="<%= @post.description %>"></meta>,但我得到了错误的未定义方法说明..

这是我的代码,请解决这个问题

在我的application.html.erb

<html prefix="og: http://ogp.me/ns#">
      <head>
        <title><%= yield(:page_title) %></title>
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <meta property="fb:app_id" content="<%= 1234567890 %>"></meta>
        <meta property="og:url" content="<%= request.original_url %>"></meta>
        <meta property='og:description' content="#{@post.description}"></meta>
        <meta property="og:type" content="website"></meta>
        <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
        <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
        <%= stylesheet_link_tag 'application', href="https://fonts.googleapis.com/css?family=Raleway:400,700" %>
    </head>

1 个答案:

答案 0 :(得分:0)

这意味着调用布局的控制器不提供@post或@post为零。

我猜那是你的布局文件?在这种情况下,帖子必须由使用应用程序布局的所有操作提供(在标准情况下,即所有操作)

确保正确加载帖子:

   class MyController < ApplicationController
     def index
       @post = Post.find(params[:id])
     end
   end

或在模板中制作条件:

   <% if @post %>
      <meta property='og:description' content="#{@post.description}"></meta>
   <% else %>
      <meta property='og:description' content="Some default description"></meta>
   <% end %>