私はActiveRecordの呼び出しからこれを取得:Rails - ActiveRecordオブジェクトから特定のレコードのみをフェッチする方法は?
#<ActiveRecord::Associations::CollectionProxy [
#<CarService id: nil, car_id: nil, car_service: 1,
created_at: nil, updated_at: nil, car_type: 0>,
#<CarService id: nil, car_id: nil, car_service: 11,
created_at: nil, updated_at: nil, car_type: 1>]>
私はこれを取得したら、私はcar_type = "0"
レコードのみをフィルタリングする必要があります。別のデータベースコール(WHERE car_type = "0"
)を実行せずにこれを行う方法は?
ありがとうございます。
EDIT:
この:
car.car_services.select{|key, hash| hash['car_type'] == "1" }
は動作しません。
'car.car_services.select {| car_service | car_service.car_type.to_s == "1"} '。ところで、これは_ワング_アプローチです。 DBに対するもう1つのフィルタリングクエリは、より高速で信頼性が高くなります。 – mudasobwa
試しました: 'car.car_services.select {| car_service | car_service.car_type == 1} '? – oliviergg
なぜ「どこ?結果が大きければ、 'select'は長い時間がかかります。クエリが完全に – lusketeer