2017-09-20 7 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

これは最もクリーンな解決策ではありません。しかし、これは私が時間短縮した場合、私はどうなるのかです

あればその同じ編集者IDをチェックし editor_idと呼ばれ、変数を初期化している私はここでやっている
<% 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 %> 

。その偽が、それは、エディタ

を表示する場合、私はこのことができますし、

関連する問題