【问题标题】:How do I re-order tabular data within rails so that the most recent data appears at the top?如何在 rails 中重新排序表格数据,以便最新数据显示在顶部?
【发布时间】:2016-08-25 18:27:42
【问题描述】:

这是当前创建表的方式。目前,最近的活动显示在结果的第 3/4 页上。

<div class="row">
      <div class="col-md-12">
        <% if @events.any? %>
          <div class="panel panel-default">
            <div class="panel-heading panel-heading-unstyled">
              <h3 class="panel-title padding-left">Proshare Admin</h3>
            </div>
            <div class="panel-body">
              <table class="table proshare-table">
                <thead>
                  <tr>
                    <th>Activity</th>
                    <th>From</th>
                    <th>To</th>
                    <th>Date</th>
                    <th class="th-last">Time</th>
                  </tr>
                </thead>
                <tbody>
                  <%= render @events %>
                </tbody>
              </table>
              <%= will_paginate @events %>
            </div>
          </div>
        <% end %>
      </div>
    </div>

【问题讨论】:

  • 最近是什么意思?
  • 你为什么不简单地使用“订单”? @events.order(created_at: :desc)

标签: jquery html ruby-on-rails ruby html-table


【解决方案1】:

在分配@events 时按控制器中的最近事件排序。

def index
  @events = Event.order(created_at: :desc)
end

【讨论】:

  • 这是当前设置的控制器。我试图将其修改为 @events.order(created_at: :desc) 但它似乎坏了。我可以将它添加为另一个“@events”吗? class UserEventsController 200) end end
  • @events.order(created_at: :desc) 不会修改原始的 @events 对象。在调用order 之后,您必须将其重新分配给一个新对象,是的。
【解决方案2】:

如果我理解正确,您的意思是显示最近发生的事件。应该在 EventsController 中完成。

def index
  @events = Event.order(created_at: :desc)
end

【讨论】:

    猜你喜欢
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多