我在更新潜在客户模型数据时遇到以下错误:
Riddle :: ResponseError(searchd error(status:1):index lead_delta:找不到属性'user_id'): app / controllers / leads_controller.rb:88:在`block in update'
在我更改模型中的搜索索引,添加属性user_id之前,一切正常。重建sphinx索引后搜索工作正常,但在更新Lead时显示错误500和上述消息。
在Lead模型中,我有以下搜索索引和属性:
indexes client_name
indexes company
indexes product.name, :as => :lead_product
indexes account_id
indexes email
indexes office_phone
indexes mobile_phone
has product_id, account_id, user_id
where "lead_converted = 0"
set_property :delta => :delayed
控制器潜在客户
def update
@lead = Lead.find params [:id] respond_to do | format |
第88行:if @ lead.update_attributes params [:lead]
我有以下宝石版本:
'思考-sphinx','2.0.3'
谜语(1.3.3)答案 0 :(得分:0)
您是否正在运行ts:rebuild
rake任务?还是ts:index
?前者是必要的,因为它看起来像Sphinx守护进程不知道你的新属性(重建停止Sphinx,重新索引,然后再次启动Sphinx)。