我有一些具有某些屬性的對象的集合。 我也有一個常量ID的數組。將常量數組與對象數組進行比較
我想要返回具有存在於常量數組中的ID的整個對象。
這是我迄今爲止,但它只是返回true或false每個,我需要它返回的所有對象的數組:
some_object_attributes.collect { |attr| (Constant::SOME_IDS.include? attr.object.object_type_id)}
我怎樣才能回報每一位attr.object
它有一個常量數組中的ID?
常數中有多少個ID?對象數組的大小是多少?使用'Set'而不是數組可能會提高性能。 – spickermann
這是不是一個查詢參數的原因?就像'scope:in_constant_array, - > {where(object_type_id:Constant :: SOME_IDS)}''那麼你可以利用SQL來完成提升而不是在mem – engineersmnky
常量中只有十幾個ID .. – user3437721