所以我使用的是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来访问股票报价?
答案 0 :(得分:0)
我想你会想做类似的事情:
@symbols = @post.tag_list
@quotes = StockQuote::Stock.quote(@symbols)
由于帖子实际上可以用多个符号标记,因此您需要一次性获取所有符号,然后在视图中迭代结果。类似的东西:
<% @quotes.each do |quote| %>
<%= "#{quote.symbol}: #{quote.ask}" %>
<% end %>
我对这些宝石并不熟悉,但快速浏览一下,看起来这样的东西会起作用。
此外,您将问题短语,就好像您有一个Post的单一实例,但然后显示您的索引操作,这将拉动一组帖子。我提供的示例适用于单个帖子(查看帖子页面的用户)。