aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
index a6b636bb7..61ccdbead 100644
--- a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
+++ b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
@@ -353,8 +353,16 @@ module ActsAsXapian
end
# now get them in right order again
results = []
- docs.each{|doc| k = doc[:data].split('-'); results << { :model => chash[[k[0], k[1].to_i]],
- :percent => doc[:percent], :weight => doc[:weight], :collapse_count => doc[:collapse_count] } }
+ docs.each do |doc|
+ k = doc[:data].split('-')
+ model_instance = chash[[k[0], k[1].to_i]]
+ if model_instance
+ results << { :model => model_instance,
+ :percent => doc[:percent],
+ :weight => doc[:weight],
+ :collapse_count => doc[:collapse_count] }
+ end
+ end
self.cached_results = results
return results
end