0

has_many私は Rails 3 ブログを持っています。このブログには、Article モデルとComment モデルが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 に答える