2013-03-27 134 views
0

我有一個Rails 3博客,其中有文章和評論模型has_manybelongs_to關聯。當文章評論大於3時,我應該在我的application.html.erb視圖中看到它,以便我可以將其稱爲「評論最多」。在我的觀點上添加評論爲「評論最多」?

<div class="span2"> 
<%=image_tag ("Lekki_Gardens_new.gif") %> 
<br><br> 
    <b><p>News update</p></b> 
    <% @articles.first(4).each do |article| %> 
    <%=image_tag article.avatar_url(:lilthumb).to_s, :class=>"img-polaroid" %><br> 
    <%= link_to article.name, article%><hr> 
    <% end %> 


</div 
+0

這個帖子的代碼是不是真的後 – 2013-03-27 15:43:25

+1

一抹然後發佈適當的代碼給你明確的答案.. – Vinay 2013-03-27 15:46:55

回答

3

可以使用:counter_cache選項在您的文章模型,然後用一個範圍來檢索最多評論的。

class Article < ActiveRecord::Base 
    has_many :comments, counter_cache: true 
    scope :most_commented, where('comments_count > 3') 
end 

,然後在模板:

<% Article.most_commented.each do |article| %> 
    <% # anything you want %> 
<% end %> 
+0

唯唯諾諾的人,我得到未知鍵:counter_cache感謝您的回覆 – 2013-03-27 16:08:02

+0

您的文章類是否繼承自activerecord :: base? – sailor 2013-03-27 16:14:18

+0

** bold ** class Article ['name LIKE?','%#{search}%「] ) 其他 發現(:所有) 結束 結束 attr_accessible:TYPE_ID,:名稱,:內容:頭像,:avatar_cache,:remote_avatar_url,:CATEGORY_ID validates_presence_of:名稱,:內容 的has_many:評論,counter_cache:真 範圍:most_commented,其中('comments_count> 3') belongs_to:類別 mount_uploader:頭像,AvatarUploader def to_param [ID,name.parameterize]。加入(「 - 」) 結束 結束 – 2013-03-27 16:19:34