[解決済み] Railsでhas_manyリレーションシップを自動的にソートするには?
2022-11-04 17:49:20
質問
これは本当に簡単な質問のように思えますが、どこにも回答がありません。
もしあればrailsで。
class Article < ActiveRecord::Base
has_many :comments
end
class Comments < ActiveRecord::Base
belongs_to :article
end
なんでこんなんでコメントの順番を決められないんだ。
@article.comments(:order=>"created_at DESC")
名前付きスコープは、何度も参照する必要がある場合に有効で、こんなことをする人だっています。
@article.comments.sort { |x,y| x.created_at <=> y.created_at }
しかし、何かもっとシンプルであるべきだと思うのです。 何が足りないのでしょうか?
どのように解決するのですか?
のオプションで、素のコレクションのソート順を指定することができます。
has_many
自体のオプションで指定できます。
class Article < ActiveRecord::Base
has_many :comments, :order => 'created_at DESC'
end
class Comment < ActiveRecord::Base
belongs_to :article
end
また、データベースを使わないシンプルな方法でソートを行いたい場合は sort_by :
article.comments.sort_by &:created_at
これをActiveRecordで追加された順序付けの方法で収集する。
article.comments.find(:all, :order => 'created_at DESC')
article.comments.all(:order => 'created_at DESC')
上記のソリューションのパフォーマンス特性は、最初にどのようにデータを取得するか、そしてどのRubyを使ってアプリを実行するかによって大きく変わりますので、ご希望に添えない場合があります。
関連
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] Ruby on Railsのランナー
-
[解決済み] RailsのRootディレクトリのパス?
-
[解決済み] Rails のインストールに失敗する: activesupport には Ruby のバージョン >= 2.2.2 が必要です。
-
[解決済み] Ruby on Railsでsimple_formを使うさまざまな方法|何が違うの?
-
[解決済み] ActionController::RoutingError: 初期化されていない定数MicropostsController
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み】Railsの認証トークンを理解する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TypeError: SymbolからIntegerへの暗黙の変換がない。
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] nil:NilClass の未定義メソッド `each' - しかし、なぜ?
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] Rails 4のhas_manyとorderの非推奨の警告