代码之家  ›  专栏  ›  技术社区  ›  mechnicov

“每种”方法在开发和生产中的不同行为

  •  1
  • mechnicov  · 技术社区  · 6 年前

    我的ERB模板中有表。这样地:

    <table>
      <% @users.each do |user| %>
        <tr>
          <td><%= user.id %></td>
          <td><%= user.name %></td>
        </tr>
      <% end %>
    </table>
    

    表将如下所示:

    1|foo

    但例如,我决定用id1编辑用户。

    1 | oof

    2 |巴

    但在生产中,它将是:

    2 |巴

    1 | oof

    编辑后,用户总是跳到表的末尾。

    我是新手,所以我可能错了。

    &

    我的问题是:我应该如何更改代码以使代码在任何地方都能正常工作?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Marcin Kołodziej    6 年前

    在控制器中显式指定顺序。如果未指定顺序,PostgreSQL不保证任何顺序,因此假设它是随机的。

    @users = User.order(:id)#.limit/pagination
    

    我还建议您在开发和生产中使用相同的数据库,如果您花一些时间在本地安装PostgreSQL,它会有回报的。