我的标记功能工作正常,但无法生成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的未定义方法错误
发布于 2009-03-19 05:31:11
你不能从视图中调用控制器方法。尝试将其放入模型中,或将其从控制器传递给视图。
如果这还不够有帮助,请尝试编辑问题并包含更多细节,例如tag_cloud的完整定义,解释为什么设置@tag而不是使用它,等等。
发布于 2009-03-20 19:58:01
这段代码看起来并不能做您想要的所有事情,但是为了纠正未定义的方法错误,视图的辅助方法的适当位置是在帮助程序中,因此请将方法tag_cloud移到那里。
您可以在app/helpers/controllername_helper.rb中找到它。
发布于 2009-09-02 21:12:20
在模块TagsHelper中定义的tag_cloud。需要将其包含在相应的helper中:
module ApplicationHelper
include TagsHelper
end此外,控制器tag_cloud中也不需要
https://stackoverflow.com/questions/661136
复制相似问题