2013-04-24 42 views
6

最新の投稿を表示するには、サイドバーに次の5つの最新の投稿が表示されます。Rails:最新の投稿を除いた最新の投稿を表示する

現在のところ、最新の投稿を表示していますが、サイドバーには同じ投稿と次の4つの最新の投稿が含まれています。

コントローラー:

def show 
    @post = Post.find(params[:id]) 
    @posts = Post.includes(:comments).order("created_at DESC").limit(5) 
end 

ビュー:

<div class="related-articles"> 
    <h2 class="headline">Related Articles</h2> 
    <% @posts.each do |post| %> 
     <div class="floatLeft"><%= link_to (image_tag post.image.url(:thumb)), post_path(post) %></div> 
     <h2 class="headline smaller-font"><%= link_to post.title, post %></h2> 
     <div class="image-remove"><%= raw truncate_html(post.body, length: 190) %> 
     <%= link_to "read more", post %></p></div> 
     <hr> 

<% end %> 

</div><!--related articles box--> 

どうもありがとうございました。

答えて

11

を試してみてください、あなたが望むものである:

@posts = Post.includes(:comments).order("created_at desc").limit(4).offset(1) 

あなたは2-6その後の限界を使用したい場合は、ポスト2-5を返します。 (5)

+0

ありがとうございました。これは美しく働いた。 – user2299459

+1

スライスよりも優れているとわかりました!私は何かを学びました。 – Fred

0

彼らは最も古いに最新の順序付けられているので、オフセット

@posts = Post.includes(:comments).order("created_at DESC").limit(6) 
@posts.slice!(0) 
関連する問題