我的标签功能正常但无法生成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
答案 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