我有一个可搜索的模块,就像这样:
- class Contact < ActiveRecord::Base
- searchable do
- text :contact_name,:company_name,:contact_email
- end
- end
在控制器的索引操作中,我打电话给Contact.new,这是在我的Staging服务器上正在运行的页面上给我一个错误消息:
undefined method `searchable’ for #<Class:0xce0bf80>
堆栈跟踪通过控制器中的Contact.new行指向模型中的可搜索块.
当我在本地运行代码时,无论是在网页还是控制台上,或者通过Staging服务器上的控制台,此错误都不会出现 – 只能在Staging网页上.
Solr服务在Staging服务器上运行正常,数据已成功建立索引.任何关于为什么不在Staging中打球的理论将被接受.
编辑
为了回应Nick的问题,Gemfile只是为Sunspot提供了这一行:gem’sunspot_rails’
对于Gemfile.lock,这些都是我可以发现包含Sunspot或Solr引用的行:
- GEM
- rsolr (0.12.1)
- builder (>= 2.1.2)
- sunspot (1.2.1)
- escape (= 0.0.4)
- pr_geohash (~> 1.0)
- rsolr (= 0.12.1)
- sunspot_rails (1.2.1)
- nokogiri
- sunspot (= 1.2.1)
- DEPENDENCIES
- sunspot_rails