1

ローカル マシン (MySQL DB を実行) で正常に動作する次のものがありますが、Heroku では、1,2,3,4,5...11,12,13 などではなく、並べ替え順序が間違っています。 1,11,12,13,2,3,4,5...!

<% @release.releases_tracks.sort { |a,b| a.position <=> b.position }.each do |releases_track| %>
      <tr>
        <td><%= releases_track.position %></td>
        <td><%= releases_track.track.name %></td>
        <td><%= releases_track.track.artists.map { |a| a.name}.join (", ") %></td>
        <td><%= releases_track.track.isrc %></td>
      </tr>
<% end %>

私の位置列がvarcharだったからだと思いましたが、整数に変更し、データベースをHerokuに移行しましたが、まだ実行中です! どうしたの?

4

1 に答える 1

2

列はまだ varchar または string のようです。Heroku のコンソールにアクセスして、テーブルからオブジェクトをロードし、フィールドを検査して、実際に整数に変更されているかどうかを確認できますか?

最初は Heroku が使っている mySql と Postgres の違いが原因かと思っていましたが、そうではないと思います。

また、並べ替えを処理するために ActiveRecord を使用することもできます...

results = YourModel.where('blah...blah..').order('id desc')
于 2012-05-01T19:17:33.070 に答える