我有一个八卦控制器和模型,在我用这种方式在索引视图中显示我所有的八卦之前:
我的控制器:
def index
@gossips = Gossip.all
endMy view index.html.erb :
<% @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 %>但是当我编辑流言时,它一直持续到最后一个位置,可能是因为它们是按修改日期排序的。因此,我为我的控制器找到了这个解决方案:
def index
@gossips = Gossip.all.sort_by { |gossip| gossip.id }
end我想知道,我的流言通常是按修改日期分类的,这是否正常,是否有可能比我所做的更干净地按id分类。
发布于 2021-03-07 04:34:41
永远不要在任何控制器、模型或任何地方使用.all。用于用例
# 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
发布于 2021-03-06 17:51:34
您可能希望对数据库进行休假排序:
def index
@gossips = Gossip.order(:id)
endhttps://stackoverflow.com/questions/66508374
复制相似问题