我對使用Ruby on Rails很新穎。 我創建了一個名爲「上崗」的博客,我想我的主頁顯示2項最新...顯示選定數量的博客條目
我到目前爲止已經得到它使用
<% @posts.each do |post| %>
顯示所有博客文章,但我如何修改這個只顯示最新的2?
非常感謝。
我對使用Ruby on Rails很新穎。 我創建了一個名爲「上崗」的博客,我想我的主頁顯示2項最新...顯示選定數量的博客條目
我到目前爲止已經得到它使用
<% @posts.each do |post| %>
顯示所有博客文章,但我如何修改這個只顯示最新的2?
非常感謝。
@posts = Post.order('created_at desc').limit(2)
假設你在你的控制器類似@posts = Post.all
,你僅需要做,而不是以下:
@posts = Post.last(2)
這當然工作,但是在我的控制器實際上我 @posts =帖子.all(:order =>「created_at DESC」) 以便博客條目以時間相關的方式出現。 有沒有辦法將(:order =>「created_at DESC」)與您的解決方案相結合? (我嘗試過,但沒有運氣) – howardrocks
然後你會做'@posts = Post.last(2).order('created_at DESC')''。 – tbuehlmann
沒有冒犯,但這將會完全相反。很顯然,使用最後一個明確的順序是違反直覺的,因爲你應該扭轉想要的順序。 – nathanvda
這似乎並不工作恐怕 – howardrocks
我「你有一個零對象時,你沒想到吧! 你可能期望陣列的一個實例。 在評估nil.each發生錯誤」錯誤,我應該將「@post」更改爲「@posts」。現在工作正常!非常感謝。 – howardrocks
是的,那確實是一個錯字。修復。 – nathanvda