Tác vụ có thể hoạt động tốt và mọi thứ nhưng tôi đã tự hỏi liệu có cách nào để hạn chế đám mây thẻ chỉ thành các thẻ phổ biến nhất không? Không phải là nó giống như đặt hàng đám mây của tôi theo thứ tự mà trong đó các thẻ được tạo ra.Chỉ hiển thị các thẻ phổ biến nhất trong đám mây từ khóa actions_as_taggable_on
Nhưng có ý nghĩa hơn khi đám mây thẻ chỉ hiển thị các thẻ phổ biến nhất.
điều khiển của tôi có:
def styles_tag_cloud
@tags = Tattoo.tag_counts_on(:styles).limit(40)
end
và quan điểm của tôi có:
<% tag_cloud(styles_tag_cloud, %w(css1 css2 css3 css4)) do |tag, css_class| %>
<%= link_to tag.name, { :action => :tagged, :controller =>:index, :id => tag.name }, :class => css_class %>
<% end %>
Nhưng tất cả điều này là hiển thị 40 thẻ đầu tiên được tạo ra, và sau đó kích thước mỗi thẻ theo bao nhiêu lần nó sử dụng
'tag_counts_on' được ghi lại ở đây: https://github.com/mbleigh/acts-as-taggable-on (tìm kiếm" Tính toán đám mây từ khóa "trên trang) – Frost
Tôi đã cập nhật câu hỏi của mình, tag_counts_on đơn giản lấy tất cả các thẻ và đếm từng thẻ. Tôi đang cố gắng sắp xếp chúng theo số lượng thẻ hoặc chỉ hiển thị các thẻ phổ biến nhất – rugbert
Vâng, sau đó thực hiện điều gì đó như 'Post.tag_counts_on (: tags) .order ('count desc'). Limit (tuy_many_you_want)'. – Frost