как поделиться описанием поста, используя метатег fb - PullRequest
0 голосов
/ 03 мая 2018

Я хочу поделиться своим постом на фейсбуке, используя og meta. все отлично работает, кроме описания поста

я пытался поставить <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 голосов
/ 03 мая 2018

Это означает, что контроллер, который вызывает макет, не предоставляет @post или что @post равен nil.

Полагаю, это ваш файл макета? В этом случае сообщение должно быть предоставлено всеми действиями, которые используют макет приложения (в стандартном случае это все действия)

Убедитесь, что сообщение загружено правильно:

   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 %>
...