0
我想知道是否爲我想要完成的最佳實踐...用戶重新創建這個循環?
首先,我們有模型類別,類別,has_many帖子。
現在讓我們說,用戶添加帖子。
現在,我有一個頁面,我只想按類別顯示當前用戶的帖子。
假設我們有以下幾類:A,B,和C
用戶1,已張貼在類別A和B.
在我看來,我有這樣的事情:
<% @categories.select {|cat| cat.posts.count > 0}.each do |category| %>
<%= category.name %><br/>
<% category.posts.select {|post| post.user == current_user}.each do |post| %>
<%= post.content %><br/>
<% end %>
<% end %>
在大多數情況下,它幾乎在那裏。問題是,它仍然會顯示一個空的類別,如果任何崗位都在它被輸入在所有(即使當前用戶沒有輸入帖子這個類別
所以現在的問題歸結爲:
如何使下面的循環僅從當前用戶數中的類職位
0}。每做|類別|%>最佳, 埃利奧特
嘿J, 感謝您的評論 - 在這樣做後,@categories爲每個用戶重複類別。即,如果用戶在商業中發佈兩次,並且在電影中發佈三次。 的@categories VAR專賣店: 業務 業務 電影 電影 電影 任何想法如何避免這種情況? – Elliot 2010-05-21 03:13:25
您必須將'::uniq => true'添加到'has_many:through'。有關詳細信息,請參閱http://blog.hasmanythrough.com/2006/5/6/through-gets-uniq。 – kikito 2010-05-21 07:51:59
@Elliot:就像egarcia說的那樣,有一個':uniq => true'缺少......現在它沒有重複的類別:] – 2010-05-21 11:47:30