首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >索引视图中按id排序的最佳方法

索引视图中按id排序的最佳方法
EN

Stack Overflow用户
提问于 2021-03-06 17:06:31
回答 2查看 485关注 0票数 0

我有一个八卦控制器和模型,在我用这种方式在索引视图中显示我所有的八卦之前:

我的控制器:

代码语言:javascript
复制
def index
  @gossips = Gossip.all
end

My view index.html.erb :

代码语言:javascript
复制
<% @gossips.each do | gossip | %>
  <div class="card gossip-card" style="width: 18rem;">
    <div class="card-body">
      <h5 class="card-title"><%= gossip.title %></h5>
      <h6 class="card-subtitle mb-2 text-muted"><%= gossip.user.username %></h6>
      <%= link_to "Read", gossip_path(gossip), :class => "btn btn-info" %>
      <%= link_to "Edit", edit_gossip_path(gossip), :class => "btn btn-success" %>
      <%= link_to "Delete", gossip_path(gossip), :class => "btn btn-danger", method: :delete, data: { confirm: "Are you sure?"} %>
    </div>
  </div>
<% end %>

但是当我编辑流言时,它一直持续到最后一个位置,可能是因为它们是按修改日期排序的。因此,我为我的控制器找到了这个解决方案:

代码语言:javascript
复制
def index
  @gossips = Gossip.all.sort_by { |gossip| gossip.id  }
end

我想知道,我的流言通常是按修改日期分类的,这是否正常,是否有可能比我所做的更干净地按id分类。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-07 04:34:41

永远不要在任何控制器、模型或任何地方使用.all。用于用例

代码语言:javascript
复制
# for ascending order
def index
  @gossips = Gossip.order(:id)
end

# for descending order
def index
  @gossips = Gossip.order(created_at: :desc)
end

还请参考Rails文档。

https://guides.rubyonrails.org/active_record_basics.html#read

票数 0
EN

Stack Overflow用户

发布于 2021-03-06 17:51:34

您可能希望对数据库进行休假排序:

代码语言:javascript
复制
def index
  @gossips = Gossip.order(:id)
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66508374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档