2013-10-28 35 views
1

我已經將代碼寫入了我的.html.erb文件,但是我認爲將它寫入控制器中可能更有意義嗎?此代碼返回所有名稱。我想弄清楚如何只取一次標籤名稱,如果用戶輸入一個已經使用過的標籤名稱,它不會再顯示出來。如何從列表中顯示一個項目,其中該項目在紅寶石中出現多次

<ul> 
    <% @pictures.each do |pic| %> 
    <% pic.tags.each do |tag| %> 
     <li> 
     <%= tag.name %> 
     </li> 
    <% end %> 
    <% end %> 
</ul> 
+0

你如何獲得@pictures值?從數據庫? – shiva

+0

是的db – user2914144

+0

現在我收到每一個輸入的物品 – user2914144

回答

0

用於收集用戶輸入的所有項目的Array#-方法。

1
<ul> 
    <% @pictures.collect{|x| x.tags.uniq}.flatten.uniq.each do |tag| %> 
     <li> 
     <%= tag.name %> 
     </li> 
    <% end %> 
</ul> 
1
<ul> 
     <% @pictures.each do |pic| %> 
    <% pic.tags.uniq_by(&:name).each do |tag| %> 
     <li> 
     <%= tag.name %> 
     </li> 
    <% end %> 
    <% end %> 
0

這是相對於你如何存儲的變量值,你裏面保存方法,你應該將uniq的標籤陣列。

相關問題