Trong Rails, tôi có Active Record Collection sau:Remove Object từ Active Record Mảng
@products = Product.all
tôi cần phải lặp qua bộ sưu tập này và loại bỏ một số đối tượng từ nó mà không cần loại bỏ chúng ra khỏi cơ sở dữ liệu. Do đó, sử dụng
@products.each do |product|
if CONDITION
product.delete
end
end
Sẽ không hoạt động, vì điều này cũng sẽ xóa sản phẩm khỏi cơ sở dữ liệu. Có cách nào để xóa các sản phẩm cụ thể khỏi bộ sưu tập này mà không xóa chúng khỏi cơ sở dữ liệu không?
Hãy bỏ qua điều này, nhưng đây là chống lại bất cứ điều gì ORMs như là dành cho. ActiveRecotrd _is supposed_ đại diện cho các đối tượng trong cơ sở dữ liệu. Tôi khuyên bạn nên suy nghĩ lại toàn bộ cách tiếp cận của bạn - bạn có _really_ có lý do chính đáng để hack như vậy không? –
Có lẽ không, nhưng tôi cũng cần lặp qua một mảng khác và so sánh các đối tượng trong cả hai mảng với nhau. Tôi không chắc chắn làm thế nào tôi sẽ đi về phù hợp mà logic vào một tuyên bố như @products = Product.where () –
Arw50452