2010-12-04 77 views
0

給定一個記錄:Rails的:選擇一個對象,給出對象的ID

@products = Products.all 

# Do some code to choose a specific id of a record from @products 
chosen_product_id = 1 

當前的代碼使第二個電話:

Product.find(chosen_product_id) 

...這是低效的。如何從現有對象中選擇正確的記錄而不進行其他數據庫調用?

+3

不確定爲什麼你要這樣做時,你可以通過`:conditions`或`where`給出SQL級別的條件。 – Chirantan 2010-12-04 17:28:35

+0

我同意@Chirantan。低效率是什麼意思?打兩個電話可能不是低效的。在對象關係映射框架中,您始終都在查詢。 – hade 2010-12-04 18:00:32

回答

1
@products.detect {|p| p.id == chosen_product_id }