0

act_as_taggable を使用してタグ クラウドを実装しようとしています。私はすでに独自のタグ モデルを用意しており、現在のコードに便乗して、クラウドに act_as_taggle を使用することを望んでいます。たとえば、私のコンソールでできることは...

1.9.3p194 :005 > t=Tag.first
Tag Load (1.4ms)  SELECT "tags".* FROM "tags" LIMIT 1
=> #<Tag id: 1, path: "corporation", friendly_name: "Corporation", popular: false,  
hot_topic: false> 
1.9.3p194 :006 > t.items.count

(11.6ms) SELECT DISTINCT COUNT(DISTINCT "items"."id") FROM "items" INNER JOIN
"tag_items" ON "items"."id" = "tag_items"."item_id" WHERE "tag_items"."tag_id" = 1 => 534

私はacts_as_taggable gemを追加し、次のようなタグヘルパーを持っています...

module TagsHelper
  include ActsAsTaggableOn::TagsHelper
end

私のコントローラーには...

class TagsController < ApplicationController
...

  def tag_cloud
    @tags = Tag.tag_counts_on(:tags)
  end
end

..そして私の見解では...

<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %>
  <%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %>
<% end %>

これは、github の gem の readme からほぼそのまま引用しました。私が得ているエラーは...

undefined method `count' for #<Tag:0xbfe5438>

これがどこから来ているのか正確にはわかりません。どんな助けでも感謝します。

4

1 に答える 1

0

ここからコードを変更してタグクラウドを作成することになりました...

http://www.idolhands.com/ruby-on-rails/guides-tips-and-tutorials/creating-a-heatmap-or-tag-cloud-in-rails

これが私のコードです... https://gist.github.com/3505320

これが誰かを助けることを願っています!

于 2012-08-30T12:53:16.767 に答える