На домашней странице моего сайта у меня есть список элементов, опубликованных разными пользователями, а рядом с каждым элементом в списке есть кнопка «Поделиться» на Facebook, которая делится ссылкой на страницу профиля пользователя, который разместил этот элемент на список. URL-адрес страницы пользователя, на которую я ссылаюсь, может быть доступен с помощью «https://www.example.com/ <% = @ user.permalink%>», который отображается как https://www.example.com/username. Файл, содержащий код для этой веб-страницы, находится в app / views / users / show. html .erb. В верхней части файла show. html .erb я включил эти строки в метатеги
<% content_for :head do %>
<meta property="og:url" content="<%= "https://example.com" + user_profile_path(@user.permalink) %>" />
<meta property="og:type" content="website" />
<meta property="og:title" content="example user" />
<meta property="og:description" content="example <%= @user %> connected" />
<meta property="og:image" content="http://www.example.com/picture.png" />
<% end %>
Я протестировал вывод <% = "<a href="https://example.com" rel="nofollow noreferrer">https://example.com "+ user_profile_path (@ user.permalink)%> и он действительно отображает URL (https://www.example.com/username), который я хочу отобразить. В моем app / views / layouts / application. html .erb файле у меня в голове есть следующее
<head>
<% if content_for?(:head) %>
<%= yield(:head) %>
<% end %>
</head>
У меня похожая ситуация в другой части моего кода, хотя эта кнопка общего доступа ДЕЛАЕТ Работа. URL-адрес этого можно получить с помощью «https://example.com/events/ <% = @ event.id%>», который отображает событие, подобное https://www.example.com/events/1. В верхней части этого файла у меня есть эти строки для мета-тегов
<% content_for :head do %>
<meta property="og:url" content="<%= "https://example.com" + event_path(@event) %>" />
<meta property="og:type" content="website" />
<meta property="og:title" content="<%= @event.name %>" />
<meta property="og:description" content="<%= @event.desc %>" />
<meta property="og:image" content="http://www.example.com/picture.png" />
<% end %>
Этот работает отлично, и, поскольку они по сути одинакового формата, я не уверен, почему первый не Работа. Любая помощь очень ценится, и если вам понадобится еще какой-нибудь код или информация, я буду рад предоставить ее, если вас попросят, спасибо!