所以,我想在提取的記錄進行搜索:是否有簡單的方法來搜索提取的記錄?
p = Product.added_today # Get records by scope
# wants something like
p.search(:name => 'Clocks')
是否有容易(導軌的方式)來做到這一點(寶石或東西)?
所以,我想在提取的記錄進行搜索:是否有簡單的方法來搜索提取的記錄?
p = Product.added_today # Get records by scope
# wants something like
p.search(:name => 'Clocks')
是否有容易(導軌的方式)來做到這一點(寶石或東西)?
您可以使用以下Rails功能來模擬這種搜索。
一個方法是使用紅寶石的find_all -
q = p.find_all{ |e| e.name == 'Clocks' }
,因爲這此代碼使用蠻力紅寶石陣列搜索,性能也不是很大。如果您期望p包含多於幾十個元素,那麼使用數據庫查詢會更好,性能更好。
嘗試建立在你的範圍:
Product.added_today.find(:all, :conditions => {:name => 'Clock'})
試試這個:
pa = Product.added_today
pa.select{|p| p.name == "Clocks"}
不,我想搜索已經提取的記錄! – rbnoob 2010-10-12 10:54:12
此代碼只提取你想要的。但是,如果您已經獲取了行,並且現在想要選擇一些記錄,則我能想到的唯一方法就是遍歷所有記錄。檢查amba的答案。 – Faisal 2010-10-12 11:08:02