2017-09-20 79 views
0

我在跟蹤哪些用戶編輯存儲爲數據庫條目的文本文件。遍歷視圖中的唯一(不包括單列)值

我有一個信用模型,用於跟蹤用戶,編輯的文件和發生編輯時的時間戳。

在我的控制器中,我有一個查詢選擇一個條目的編輯器,並加入信用模型的時間戳。

@editors = User.select("name, users.id, credit.created_at").joins("INNER JOIN credits ON credits.user_id = users.id WHERE credit.file_id = " + x) 

在我看來,我不想顯示重複編輯,但已加入到用戶的唯一時間戳造成重複編輯打印

<% @editors.uniq.reverse_each do |e| %> 
    <%= link_to e.name, user_path(e.id) %> 
    <%= e.created_at %> 
<% end %> 

有沒有一種方法,我可以從我看來uniq比較中排除某一列?

+0

你看着https://github.com/airblade/paper_trail – MZaragoza

+0

是的,但它不相當符合我的特殊需求。謝謝! – banielbow

回答

0

這不是最乾淨的解決方案。但這是什麼,如果我是一個時間緊迫,我會做

<% editor_id = 0 %> 
<% @editors.uniq.reverse_each do |e| %> 
    <% unless editor_id == e.id %> 
     <%= link_to e.name, user_path(e.id) %> 
     <%= e.created_at %> 
     <% editor_id = e.id %> 
    <% end %> 
<% end %> 

我在做什麼在這裏被初始化了一個名爲editor_id然後可變檢查其同一個編輯器的ID。如果爲false,則顯示編輯器

我希望這可以幫助並讓你在正確的軌道