轨道上的红宝石 - 显示精选帖子?



我正在使用Ruby on Rails创建一个博客应用程序,并希望在主页上显示30篇"精选"文章。

我已经考虑过在文章表上使用布尔属性"精选",但是我对此有一些问题;

  1. 如果我有 4000 篇文章,我必须搜索所有文章才能找到精选的 30 篇文章。
  2. 3970 篇文章将有一个空列。

我想知道是否有更好的方法 - 例如创建另一个仅存储特色文章 ID 的数据库表?

提前谢谢。

我认为在您的情况下,最好的决定是对特色文章使用模型范围。

class Article < ApplicationRecord
scope :featured, -> { where(featured: true) }
end

并从您的轨道视图中使用此示波器

<% @articles.featured.each do |article| %>
<p><%= link_to article.subject, article_path(article) %></p>
<% end>

链接到 Ruby on Rails Guide 中的示波器

最新更新