Ruby on rails - 显示特色帖子?

时间:2017-08-20 06:09:45

标签: ruby-on-rails

我正在使用Ruby on Rails创建一个博客应用程序,并希望显示30'特色'主页上的文章。

我考虑过使用布尔属性'特色'在文章表上,但是我有一些问题;

  1. 如果我有4000篇文章,我必须搜索所有这些文章才能找到30篇文章。
  2. 3970篇文章将有一个空列。
  3. 我想知道是否有更好的方法 - 比如创建另一个只存储特色文章ID的数据库表?

    提前致谢。

1 个答案:

答案 0 :(得分:1)

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

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

并在rails视图中使用此范围

<% @articles.featured.each do |article| %>
  <p><%= link_to article.subject, article_path(article) %></p>
<% end>
来自Ruby on Rails指南的

Link to scopes