我正在使用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
类型...