[英]Rails5 How can I build a feed with ActiveRecord Relation objects
[英]How can i intersection two ActiveRecord Relation objects by rails?
我需要找到兩個ActiveRecord Relation對象的相交結果。 這是我的控制器
if params.has_key?(:car_insurance_type_id)
car_insurance_type = CarInsuranceType.find_by(id: params[:car_insurance_type_id])
else
car_insurance_type = CarInsuranceType.find_by(id: 1)
end
@breadcrumb_title = car_insurance_type.title
car_insurance_objects_private = car_insurance_type.car_insurance_objects
if params.has_key?(:car_model_id)
car_model_search = CarModel.find_by(id: params[:car_model_id])
if car_model_search
car_insurance_objects_from_model = car_model_search.car_insurance_objects
end
end
car_insurance_objects_private = car_insurance_objects_private & car_insurance_objects_from_model
但是“&”方法不適用於ActiveRecord對象
這是我的模特
class CarInsuranceType < ActiveRecord::Base
has_many :car_insurance_objects ,dependent: :destroy
end
class CarInsuranceObject < ActiveRecord::Base
belongs_to :insurance_company
belongs_to :car_insurance_type
has_and_belongs_to_many :car_models
end
class CarModel < ActiveRecord::Base
belongs_to :car_brand
has_and_belongs_to_many :car_insurance_objects ,dependent: :destroy
end
那么,如何找到兩個屬於一個car_insurance_type的CarInsuranceObject和另一個具有has_and_belongs_to_many car_models的CarInsuranceObject之間的相交結果?
謝謝!
據我了解,你需要查詢數據庫的CarInsuranceObject
“指定的第CarInsuranceType
和CarModel
。 為什么不簡化所有這些東西:
car_insurance_type_id = params[:car_insurance_type_id] || 1
car_insurance_objects_private = car_model_search.car_insurance_objects.where(car_insurance_type_id: car_insurance_type_id)
順便說一句,變量確實有很長的名字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.