如何使用acts_as_taggable_on类固醇生成标签云

时间:2009-03-19 05:17:58

标签: ruby-on-rails

我的标签功能正常但无法生成tag_cloud

在我的控制器中:

def tag_cloud
  @tags = Article.tag_counts # returns all the tags used 
end
视图中的

<% tag_cloud Article.tag_counts.sort { |x, y| x.name <=> y.name }, %w(x-small small normal large x-large) do |tag, css_class| %>
  <%= link_to tag.name, tag_url( :tag => tag.name ), :class => css_class %>
<% end %>

我总是得到tag_cloud

的未定义方法错误

4 个答案:

答案 0 :(得分:0)

您无法从视图中调用控制器方法。尝试将其放入模型中或将其传递给控制器​​的视图。

如果这样做不够有用,请尝试编辑问题并提供更多详细信息,例如tag_cloud的完整定义,解释为什么要设置@tag但不使用它等等。

答案 1 :(得分:0)

该代码看起来并不像你想要的那样,但为了解决未定义的方法错误,帮助器的辅助方法的适当位置在帮助器中,因此在那里移动方法tag_cloud

您可以在app/helpers/controllername_helper.rb找到它。

答案 2 :(得分:0)

模块tag_cloud中定义的

TagsHelper。您需要将其包含在相应的帮助程序中:

module ApplicationHelper
  include TagsHelper
end

控制器tag_cloud

也没有必要

答案 3 :(得分:0)

sergeykish.com是正确的,您只需要在/app/helpers/application_helper.rb中包含帮助程序

module ApplicationHelper
  include TagsHelper
end