Twitter搜索API在Rails页面上发布不需要的字符串



我正在使用Twitter GEM和搜索API在页面上嵌入搜索的推文,但是由于某种原因,在页面底部,在嵌入式推文的末尾,某些东西这样的将以纯文本发布:

#<Twitter::SearchResults:0x007f893bb766e8>

我无法弄清楚为什么要发布这一点。显然,出于演示原因,我不希望这个笨拙地贴在页面末尾。

来自 home.html.erb

<ul>
    <% query = params["q"] %>
      <% if query != nil and query.chars.include? "#" %>
        <%= TwitterApi.search_twitter(query).each do |t| %>
          <% tweet = TwitterApi.embed(t)%>
          <%= raw(tweet.html) %>
        <% end %>
    <% end %>
</ul>

来自 twitter_api.rb

class TwitterApi
    def self.public_tweets(query)
      client.user_timeline(query, count: 1, exclude_replies: true, include_rts: false)
    end
    def self.embed(arg)
      client.oembed(arg)
    end
    def self.search_twitter(query)
      query += " -rt"
      client.search(query, count: 3)
    end 
end

each行删除=符号:

而不是:

<%= TwitterApi.search_twitter(query).each do |t| %>

应该是:

<% TwitterApi.search_twitter(query).each do |t| %>

<%=表示该行的结果在页面上呈现。如果是each子句,结果是迭代的集合,在这种情况下,这是TwitterApi.search_twitter(query)的结果,即Twitter::SearchResults类型...

最新更新