2014-10-09 26 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的結果並針對它運行方法,而不是每次都重新加載。

相關問題