0

我正在阅读 Michael Hartl 的 Ruby on Rails 教程,遇到了一个我无法解决的问题。

我的问题是列出所有用户的页面。在本地,代码工作正常,用户都按顺序列出。但是,当我部署到 heroku 时,id = 1 的用户最后显示在 id = 100 的用户之后。这是什么原因造成的?以下是相关代码:

* users_controller.rb*

def index
    @users = User.paginate(page: params[:page])
end

index.html.erb

<%= provide(:title, 'All users') %>
<h1>All users</h1>

<%= will_paginate %>

<ul class="users">
    <%= render @users %>
</ul>

<%= will_paginate %>

* _user.html.erb*

<li>
    <%= gravatar_for user, size: 52 %>
    <%= link_to user.name, user %>
    <% if current_user.admin? && !current_user?(user) %>
    |  <%= link_to "delete", user, method: :delete, data: { confirm: "Are you sure?" } %>
    <% end %>
</li>
4

1 回答 1

2

您可以在控制器中按 id 对用户进行排序以防止这种行为:

def index
  @users = User.order('id ASC').paginate(page: params[:page])
end
于 2013-08-02T08:09:58.540 回答