2014-10-09 30 views

回答

1

另外,你可以建立一个哈希查找并自己处理“缓存”。

Hash[Object.all.map{|object| [object.symbol, object]}]

0

一旦你与all它成为一个Ruby对象,而不是一个范围获取数据,所以你需要使用的方法从可枚举去取:如果这是类似于

Example.all.find { |r| r.symbol == 'example' } 

Example.find_by(symbol: 'example') 

同样:

# Ruby Array 
Example.all.select(symbol: 'example') 

# ActiveRecord scope 
Example.where(symbol: 'example') 

显然,您可以缓存Example.all的结果并针对它运行方法,而不是每次都重新加载。

相关问题