2010-12-04 66 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 }