我有兩個模型,文章和評論,我試圖顯示最近的5條評論標題。顯示屬於帖子的最後5條評論
<%= Post.limit(5).order('created_at desc') %>
給我最後5個帖子。
我如何得到最後5條評論,只是標題?
我有兩個模型,文章和評論,我試圖顯示最近的5條評論標題。顯示屬於帖子的最後5條評論
<%= Post.limit(5).order('created_at desc') %>
給我最後5個帖子。
我如何得到最後5條評論,只是標題?
爲了得到剛剛過去的5個評論,你可以使用這個
Comment.limit(5).order('created_at desc').select(:title)
顯示了文章的標題,它看起來像要檢索後的最後5個評論。
你可以這樣說:
<% Post.limit(5).order('created_at desc').each do |post| %>
<% post.comments.select(:title).order('created_at desc').limit(5).each do |comment| %>
<%= comment.title %>
<% end %>
<% end %>
有兩個問題:
注意解決這個問題:我無法測試這些,但我想他們將工作或將要,至少,給你的想法。
我認爲你正在尋找:
Comment.select(:title).order('created_at desc').limit(5).map {|c| c.title}
這會給你的標題的數組創建的最後5個評論。如果您需要其他屬性,請將其添加到名爲(Comment.select([:title, :owner])
)的選擇方法中,或者刪除選擇和獲取所有評論屬性。
我現在認識到,返回所有帖子的最後5條評論。任何想法如何限制它只有一個職位? – user2759575
@ user2759575是的,嘗試'@ post.comments.select(:title).order('created_at desc')。limit(5).map {| c | c.title}'。另外,正如HungryCoder所說,您應該可以在您的控制器中加載此視圖,而不是視圖並將其分配給實例變量。它只是將查詢和顯示問題分開一點。 – jvperrin
感謝您的建議。新的鐵路和仍在學習! :) – user2759575
這工作,謝謝你的答案! – user2759575