我有一个可搜索的模块,就像这样:
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