Я думаю, что это добавляет методы к классам, так что вы можете получить к ним прямой доступ.
Вы можете попробовать это:
<h2>Tag Cloud</h2>
<% if Site.tag_counts.length > 0 -%>
<% tag_cloud Site.tag_counts, %w(css1 css2 css3 css4) do |tag, css_class| -%>
<%= link_to tag.name, home_tag_path(tag), :class => css_class -%>
<% end -%>
<% else -%>
<%= content_tag :p, 'No tags' -%>
<% end -%>
Это то, что я использовал, и это работает.
Примечание: когда вы вызываете tag_cloud из представления сайтов, он вызывает соответствующее определение в контроллере.Вы хотите вызвать tag_cloud в tags_helper (в плагине), поэтому вы также захотите удалить определение tag_cloud в вашем контроллере.
Вот некоторые полезные темы, которые могут помочь понять это:
- Поиск метода (один шаг вправо, затем вверх) и
- Self (полезно полностью понять, если начать с ruby / rails)
- Метапрограммирование (если вы нене знакомы с этим термином)
Все хорошо, если вы плохо знакомы с рубином / рельсами.
Надеюсь, это поможет.