私は Rails モデルを持っており、User は Post と多くの関係を持っています。Post には、位置を格納する position という名前の属性が含まれています (acts_as_list gem)。位置には、ユーザーの投稿リストの位置が格納されます (順序は、投稿の作成/変更によるものではありません)。さらに、投稿にはタイムスタンプが保存さt.timestamps
れています(移行で)
そこで、User.rb で次のように定義しました。
has_many :post, :order => "position", :dependent => :destroy
ただし、User.first.posts
投稿は位置順ではありません。私はチェックしましたが、クエリであるSQLには次のものが含まれています:
ORDER BY post.created_at DESC, position
したがって、created_at はまだ使用されています。
created_at 属性を使用せずに位置で並べ替えるにはどうすればよいですか?
前もって感謝します!
解決 策 Post で定義されたデフォルトのスコープがあり、それが望ましくない順序を作成していました。
問題が解決しました