我正在按照以下指示进行操作:http://agilewebdevelopment.com/plugins/acts_as_taggable_on_steroids,以在我的视图中添加标签云:
在控制器中:
class PostController < ApplicationController
def tag_cloud
@tags = Post.tag_counts
end
end
我还将tag_cloud
方法添加为控制器中的助手方法
以及在视图中:
<% tag_cloud @tags, %w(css1 css2 css3 css4) do |tag, css_class| %> (line 1)
<%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %> (line2)
<% end %> (line 3)
然而:
1)如果我在控制器中没有添加 helper_method :tag_cloud
,那么对于 tag_cloud
我会得到一个 undefined method
错误。
2)但是,如果我添加了 helper 方法,那么在我上面示例代码的同一行会出现 wrong number of arguments (2 for 0)
错误。
建议?
解决办法 最终我没有按照视图中的示例代码来做。
而是这样做:
<% @post.tags.each do |tag| %>
<%= link_to( tag.name,tag,:class => "tag_cloud_item_link") %>
<% end %>