【问题标题】:Oembed tweet - twitter gemOembed 推文 - 推特宝石
【发布时间】:2014-10-29 17:31:29
【问题描述】:

这可能是一个非常简单的问题,但我不知道如何呈现嵌入的推文。

为简单起见,这是我的控制器:

class TweetsController < ApplicationController

  def index

  @tweet = twitter_client.oembed('527501479142109184')

  end

end

如果我只是执行以下操作,则在视图中仅显示对象:

<%= @tweet %>

#&lt;Twitter::OEmbed:0x007fb878abc5d8&gt;

经过检查,这给出:

#<Twitter::OEmbed:0x007fb875cacd28 @attrs={:cache_age=>"3153600000", :url=>"https://twitter.com/HuayuanSong/statuses/527501479142109184", :height=>nil, :provider_url=>"https://twitter.com", :provider_name=>"Twitter", :author_name=>"Huayuan Song", :version=>"1.0", :author_url=>"https://twitter.com/HuayuanSong", :type=>"rich", :html=>"<blockquote class=\"twitter-tweet\"><p>Jeg kunne lide en video på <a href=\"https://twitter.com/YouTube\">@YouTube</a> <a href=\"http://t.co/hhhTvyJA6y\">http://t.co/hhhTvyJA6y</a> Obama: U.S. leading the way against Ebola spread</p>&mdash; Huayuan Song (@HuayuanSong) <a href=\"https://twitter.com/HuayuanSong/status/527501479142109184\">October 29, 2014</a></blockquote>\n<script async src=\"//platform.twitter.com/widgets.js\" charset=\"utf-8\"></script>", :width=>550}>

显然,这非常简单,我只是将其用作概念证明类型的东西。有人能解释一下我是如何从拥有对象到能够显示实际嵌入的推文的吗?

谢谢

【问题讨论】:

    标签: ruby-on-rails twitter oembed twitter-gem


    【解决方案1】:

    只需调用@tweet 就会引用该对象。为了显示您想要调用的推文:

    <%= raw(@tweet.html) %>
    

    另外,来自 Twitter 的documentation

    返回的 HTML sn-p 将被自动识别为 Twitter’s widget JavaScript is included 开启时的嵌入推文 页面。

    Javascript sn-p 如下所示:

    <script>
    window.twttr = (function (d, s, id) {
    var t, js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src= "https://platform.twitter.com/widgets.js";
    fjs.parentNode.insertBefore(js, fjs);
    return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } });
    }(document, "script", "twitter-wjs"));
    </script>
    

    【讨论】:

    • 非常感谢,这是有道理的,错过这一点很愚蠢。但是,现在显示的只是 html?我的application.html.erb 模板中包含了widget.js 脚本,位于&lt;/body&gt; 结束标签之前
    • 尝试使用raw helper method&lt;%= raw(@tweet.html) %&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2015-07-16
    相关资源
    最近更新 更多