我正在尝试在Span中显示每个Tag
和Question
。我使用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
是否有人可以帮我重构该代码,以便只显示问题上的当前标记?
答案 0 :(得分: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 %>
答案 1 :(得分:0)
我不知道这个插件,但我在代码片段中看到的一个问题是,您不是在特定对象@question
上操作,而是在类Question
上操作。如果我不得不猜测,我会说这是你问题的根源。
编辑:
所以,我刚刚查看了gem的文档,我在那里找到了这段代码片段:
<% 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 %>
正如你所看到的,这就是我刚刚告诉你的内容。您不必处理该类,而是必须处理特定对象,或者如图所示,对象集合。