使用stock_quote gem的股票报价作为acts_as_taggable gem的标签?

时间:2015-06-30 16:06:28

标签: ruby-on-rails ruby

所以我使用的是acts_as_taggable gem提供的标签。帖子是我标记的内容。我该怎么说(像这里的pseduocode)= =>

if a collection of Posts has a tag with a corresponding StockQuote, display the stock quote

所以现在我有一个使用acts_as_taggable的Post资源。以下是我的帖子索引操作现在的样子:

def index
@stock = StockQuote::Stock.quote("symbol")

if params[:tag]
@posts = Post.tagged_with(params[:tag])
else
 @posts = Post.order('cached_votes_score desc')
end

end

所以我会以某种方式迭代所有@posts tagged_with params [:tag]并将标签与股票报价进行比较。如果匹配,则在所有@posts tagged_with params [:tag]的索引上显示引号。我将尝试弄清楚如何限制每个帖子很快就有1个标签

如果该标签恰好是股票报价,我如何使用帖子的:tag来访问股票报价?

1 个答案:

答案 0 :(得分:0)

我想你会想做类似的事情:

@symbols = @post.tag_list
@quotes = StockQuote::Stock.quote(@symbols)

由于帖子实际上可以用多个符号标记,因此您需要一次性获取所有符号,然后在视图中迭代结果。类似的东西:

<% @quotes.each do |quote| %>
  <%= "#{quote.symbol}: #{quote.ask}" %>
<% end %>

我对这些宝石并不熟悉,但快速浏览一下,看起来这样的东西会起作用。

此外,您将问题短语,就好像您有一个Post的单一实例,但然后显示您的索引操作,这将拉动一组帖子。我提供的示例适用于单个帖子(查看帖子页面的用户)。