[解決済み] オブジェクトの配列を属性値でフィルタリングするRails
2022-12-20 02:25:08
質問
DBにクエリを実行すると、オブジェクトの完全な配列が得られます。
@attachments = Job.find(1).attachments
オブジェクトの配列ができたので、もうデータベースへの問い合わせはしたくありません。
Attachment
オブジェクトの
file_type
のリストを持つことができるように
attachments
ここで、ファイルの種類は
'logo'
であり、さらに別のリストである
attachments
ここで、ファイルの種類は
'image'
このようなものです。
@logos = @attachments.where("file_type = ?", 'logo')
@images = @attachments.where("file_type = ?", 'image')
しかし、DBクエリの代わりにメモリ内で
どのように解決するのですか?
試してみてください。
これは大丈夫です。
@logos = @attachments.select { |attachment| attachment.file_type == 'logo' }
@images = @attachments.select { |attachment| attachment.file_type == 'image' }
が、パフォーマンス上、@attachments を2回繰り返す必要はないでしょう。
@logos , @images = [], []
@attachments.each do |attachment|
@logos << attachment if attachment.file_type == 'logo'
@images << attachment if attachment.file_type == 'image'
end
関連
-
[解決済み】Webpacker::Manifest::MissingEntryError【クローズド
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み】Railsの認証トークンを理解する
-
[解決済み] Array Rails ActiveRecordで例外なくwhere IDを選択する方法
-
[解決済み] オブジェクトの配列をActiveRecord::Relationに変換する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 新規ユーザー作成時に ActiveModel::ForbiddenAttributesError が発生する。
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] erbでコメントを追加する最適な方法
-
[解決済み] DestroyとDeleteの違い
-
[解決済み] nil:NilClass の未定義メソッド `each' - しかし、なぜ?
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] railsアプリケーションでCookieのオーバーフロー?
-
[解決済み] gemのアップデート後、"Asset was not declared to be precompiled in production "でテストが失敗する。
-
[解決済み] rails/rubyでgroup_byを使用する。
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?