我很新的Ruby on Rails的,所以可能有一个简单的解决方案,我很想念。
该tldr版本 - 我怎么显示充当的不同加标签在标签云(即无重复)标签分配给特定模型的所有实例该模型的索引页?
更长的版本-我有一个名为视频模式中,我已经成功地设法实现使用标记功能充当加标签在和这个梦幻般的教程 。
我想现在要做的是,视频的索引页(index.html.erb)上,显示所有用户已分配给单个视频的各个标签的摘要。 例如,可以说我有三部影片,每个标记为如下:
Video 1: great, banana, book
Video 2: small, great, apple
Video 3: rubbish, small, banana
我想索引页面中显示的标签下面的列表:
great, banana, book, small, apple, rubbish.
我的模型(消隐)的代码如下:
class Video < ActiveRecord::Base
attr_accessible :tag_list # Lots of other fields in here as well, but not relevant
acts_as_taggable_on :tags
end
在我的视频助手的代码如下:
module VideosHelper
include ActsAsTaggableOn::TagsHelper
end
最后,按照创业板的文档,我下面的代码添加到我的控制器:
class VideosController < ApplicationController
def tag_cloud
@tags = Video.tag_counts_on(:tags)
end
end
所以,我应该是什么样的代码添加到我的视图的索引页? 我试图按照文档以下,再次:
<% 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 %>
但是,当我去视频索引页面这将返回以下错误:
undefined method `empty?' for nil:NilClass
正如我说的,我显然失去了一些东西简单,但我完全新的铁轨(和Ruby),所以我还在摸索。