2013-04-24 47 views
6

Tôi muốn hiển thị bài đăng gần đây nhất trong chế độ xem chương trình, với năm bài đăng gần đây nhất trong thanh bên.Đường ray: Hiển thị 5 bài đăng gần đây nhất trừ bài đăng gần đây nhất

Hiện tại, tôi hiển thị bài đăng gần đây nhất, nhưng thanh bên bao gồm cùng một bài đăng đó với 4 bài đăng gần đây nhất tiếp theo.

Bộ điều khiển:

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

Xem:

<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--> 

Cảm ơn rất nhiều.

Trả lời

11

offset là những gì bạn muốn:

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

này sẽ trở lại bài viết từ 2-5, nếu bạn muốn 2-6 sau đó sử dụng giới hạn (5)

+0

Cảm ơn. Điều này làm việc rất đẹp. – user2299459

+1

Tốt hơn và rõ ràng hơn lát !, Tôi đã học được điều gì đó. – Fred

0

Vì họ được sắp xếp mới đến cũ, hãy thử

@posts = Post.includes(:comments).order("created_at DESC").limit(6) 
@posts.slice!(0) 
Các vấn đề liên quan