Rails-da act_as_taggable_on bilan alohida taglarga CSS class qo'shing

Actions_as_taggable_on dan foydalanish ajoyib ishlaydi. Biroq, vergul bilan ajratilgan ro'yxat hosil qiladi. Men alohida-alohida sariq element va sinfni qo'shishning eng yaxshi usuli deb o'ylayman. Men buni jQuery'da qildim, lekin men uni rels yordamchisida qilishni juda xohlayman.

ya'ni.

item.tags = "big, bigger, biggest"
item.tag_list = ["big", "bigger", "biggest"]

Quyidagilardan iborat:

big
bigger
biggest
0

2 javoblar

Quyida yuborilgan tag_list asosida spans ro'yxatini tuzadigan yordamchi.

def tags(tag_list)
  markup = ""
  tag_list.each do |tag|
    markup += content_tag(:span, tag, :class => "tag")
  end
  raw(markup)
end

Keyin uni quyidagicha chaqiradi:

<%= tags(item.tag_list) %>

chiqadi

tag 1
tag 2
tag 3
2
qo'shib qo'ydi
yangilangan kod, endi sinovdan keyin ishlamadi
qo'shib qo'ydi muallif nheinrich, manba
Salomat bo'ling!
qo'shib qo'ydi muallif nheinrich, manba
Bu menga yoqdi. Jozibasi kabi ishlaydi. Sizga ko'p rahmat nheinrich ...
qo'shib qo'ydi muallif Adam, manba

Bu yangi funktsiyani yaratmasdan va kodni ko'rinishda saqlamasdan buni qilishning toza yo'li bo'lishi mumkin:

<% @item.tag_counts_on(:tags).map(&:name).each do |tag| %>
   
    <%= tag %> 
<% end %>
1
qo'shib qo'ydi
+1 tozalovchi yondoshuv
qo'shib qo'ydi muallif lucapette, manba