首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用acts_as_taggable_on_steroids生成标签云

如何使用acts_as_taggable_on_steroids生成标签云
EN

Stack Overflow用户
提问于 2009-03-19 05:17:58
回答 4查看 641关注 0票数 1

我的标记功能工作正常,但无法生成tag_cloud

在我的控制器中:

代码语言:javascript
复制
def tag_cloud
  @tags = Article.tag_counts # returns all the tags used 
end

在视图中:

代码语言:javascript
复制
<% 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的未定义方法错误

EN

回答 4

Stack Overflow用户

发布于 2009-03-19 05:31:11

你不能从视图中调用控制器方法。尝试将其放入模型中,或将其从控制器传递给视图。

如果这还不够有帮助,请尝试编辑问题并包含更多细节,例如tag_cloud的完整定义,解释为什么设置@tag而不是使用它,等等。

票数 0
EN

Stack Overflow用户

发布于 2009-03-20 19:58:01

这段代码看起来并不能做您想要的所有事情,但是为了纠正未定义的方法错误,视图的辅助方法的适当位置是在帮助程序中,因此请将方法tag_cloud移到那里。

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

票数 0
EN

Stack Overflow用户

发布于 2009-09-02 21:12:20

在模块TagsHelper中定义的tag_cloud。需要将其包含在相应的helper中:

代码语言:javascript
复制
module ApplicationHelper
  include TagsHelper
end

此外,控制器tag_cloud中也不需要

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/661136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档