分别显示 Acts_as_taggable 标签

Posted

技术标签:

【中文标题】分别显示 Acts_as_taggable 标签【英文标题】:Display Acts_as_taggable Tags seperatly 【发布时间】:2013-09-24 18:57:02 【问题描述】:

我正在尝试显示跨度中的每个 TagQuestion。我用acts_as_taggable_on。

我设法让下面的代码工作,但它是一个标签云。意思是显示所有的标签。

<% tag_cloud Question.tag_counts, %w[s m l] do |tag, css_class| %>
    <span class="label label-default">
      <%= link_to tag.name, tag_path(tag.name), class: "css_class" %>
    </span>
  <% end %>

要检索标签:

question.tag_list

有人可以帮我重构该代码,以便只显示问题上的当前标签吗?

【问题讨论】:

chat.***.com/rooms/37968/… 【参考方案1】:

question.tag_list 会返回一个字符串,你不能循环遍历它。

question.tags 会返回一个数组,

<% question.tags.each do |tag| %>
    <span class="label label-default">
      <%= link_to tag.name, tag_path(tag.name), class: "css_class" %>
    </span>
 <% end %>

【讨论】:

【参考方案2】:

我不知道该插件,但我在您的代码-sn-p 中看到的一个问题通常是您不是在特定对象@question 上操作,而是在类Question 上操作。如果我不得不猜测,我会说这是你问题的根源。

编辑:

所以,我刚刚查看了 gem 的文档,并直接在那里找到了这个 code-sn-p:

<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %>
  <%= link_to tag.name,  :action => :tag, :id => tag.name , :class => css_class %>
<% end %>

如您所见,这就是我刚刚告诉您的内容。您不必处理类,而是必须处理特定对象,或者像所示示例中的对象集合。

【讨论】:

嘿,这是标签云的特定代码。它工作得很好。我正在努力研究如何分别显示一组哈希值。 类似的事情..

以上是关于分别显示 Acts_as_taggable 标签的主要内容,如果未能解决你的问题,请参考以下文章

使用 activeadmin 管理acts_as_taggable 标签

c# listview 大图标显示时,项中的标签文本居中显示怎么设置?

在rails上使用select2 gem和acts_as_taggable gem

Play Framework 1.2.7 添加选择标签到表单标签作为输入字段

如何通过HTML改变我的chrome浏览器的标签名?

vue textarea空格和换行处理