0

我有一个 Rails 3 博客,其中包含文章和评论模型has_many以及belongs_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
4

1 回答 1

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 %>
于 2013-03-27T15:47:26.010 回答