gpt4 book ai didi

ruby-on-rails - 从另一个循环中分别调用每个文章标签

转载 作者:太空宇宙 更新时间:2023-11-03 17:56:54 25 4
gpt4 key购买 nike

我有一篇文章,每篇文章都有标签。现在我把所有的标签放在一起:

<% @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 %>

现在我的类(class)围绕着所有的文章标签。我希望它分别绕过每个文章标签。

我试过一个简单的

<% @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>

所以我只是不确定为什么我会同时返回与每篇文章关联的所有标签,但返回的次数与标签的次数相同。我希望这是有道理的。

最佳答案

如果一篇文章有很多 :tags 那么在文章循环中做

<% article.tags.each do |tag| %>

在您的编辑之后:您正在输出一个在标签上循环时在文章上调用的方法。没有意义,你在标签上循环,请改为调用 tag.name!

具体语法查看slhck answer

关于ruby-on-rails - 从另一个循环中分别调用每个文章标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11817537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com