diff options
author | louise <louise> | 2009-04-07 14:20:32 +0000 |
---|---|---|
committer | louise <louise> | 2009-04-07 14:20:32 +0000 |
commit | fc9da28929fc95033c126cc3056d66c1a3255a3a (patch) | |
tree | a1ba1e51240424ee5bde91b681972547b1ce864d | |
parent | fae0ff764fc5a418200ed274f2283fd0914491bb (diff) |
acts_as_xapian now does not return a result that has no model - will happen due to offline reindexing in xapian
-rw-r--r-- | vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb | 12 |
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 |