Rails条件Facebook OG标签

时间:2016-04-25 01:22:29

标签: ruby-on-rails ajax facebook

我有一个Rails个性测试应用程序,它使用AJAX来呈现问题并显示结果。

我一直试图通过Facebook将变量发送到我的仪表板Rails控制器之一来动态创建标签,从而分享个性测试结果。

但是,首次加载页面时,变量为nil(导致错误),因此我通过添加条件(在application.html.erb中)来修复它:

<% if @cat %>
   <meta property="og:title"         content="You got <%= @cat.name %>!"/>
   <meta property="og:image"         content="<%= @cat.picture %>" />
   <meta property="og:description"   content="<%= @cat.description%>" />
   <meta property="og:url"           content="https://mysite" />
   <meta property="fb:app_id"        content= "<%=ENV['FACEBOOK_APP_ID']%>" />
   <meta property="og:type"          content="website">
<% end %>

当我检查共享调试器时,Facebook无法识别标签。我也尝试用另一个对象(家庭控制器)进行初始化:

def index
  if params.has_key?("cat")
    @cat = Cat.find_by(name: params["cat"])
  else
    @cat = Cat.find_by(name: "Colonel Meow")
  end
end

有了这个,Facebook不会渲染新值,而是渲染旧值。我在我的application.html中放了一个调试器,以确保变量发生了变化(确实如此)。 Facebook虽然没有刷新。

在分配标签时有没有办法使用条件?或者刷新标签以便Facebook使用新变量?

0 个答案:

没有答案