我有一篇文章,每篇文章都有标签。现在我把所有的标签都叫在一起:
<% @articles.each do |article| %>
<div class="articlebox">
<article>
<h4>
<%= link_to article.title, article_path(article) %>
</h4>
<%= markdown article.body %>
<span class="articletagbox">
<%= article.tag_tokens %>
</span>
<% end %>
现在我的班级围绕着所有的文章标签。我希望它单独绕过每个文章标签。
我试过一个简单的
<% @tags.each do |tag| %>
但这给了我一个未定义的方法“每个” nilclass 错误。
我知道这很简单,但我就是不知道我应该改变什么才能让它工作。我假设我需要在我的文章模型中定义一些东西?
谢谢!
编辑
所以现在我的代码看起来像这样:
<% article.tags.each do |tag| %>
<span class="articletagbox">
<%= article.tag_tokens %>
</span>
<% end %>
article.rb 中的方法是:
def tag_tokens
self.tags.collect{|t| t.name}.join(", ")
end
它返回与每篇文章关联的所有标签的次数与标签的次数相同。
例如,如果我在一篇文章上有三个标签:tag1、tag2、tag3 我得到
<class>tag1 tag2 tag3</class> <class>tag1 tag2 tag3</class> <class>tag1 tag2 tag3</class>
相反,我想要
<class>tag1</class> <class>tag2</class> <class>tag3</class>
所以我只是不确定为什么我将与每篇文章关联的所有标签一起返回,但与标签的次数相同。我希望这是有道理的。