Rails 4.1-思考-狮身人面像关联不起作用 [英] Rails 4.1 - thinking-sphinx association not working

查看:0
本文介绍了Rails 4.1-思考-狮身人面像关联不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含两个模型PostUser的Rails应用程序,我使用Sphinxthinking-sphinxgem来启用搜索。每个帖子属于一个用户,belongs_to,每个用户可以有多个帖子。当我搜索帖子时,我还希望能够按创建帖子的用户名进行搜索。我的帖子索引如下:

ThinkingSphinx::Index.define :post, :with => :active_record do
  indexes name, :sortable => true
  indexes post_description
  indexes user.name, as: :post_user

  has user_id, team_id, created_at, updated_at
end

我的用户索引如下所示:

ThinkingSphinx::Index.define :user, :with => :active_record do
  indexes name, :sortable => true
  indexes email
  indexes about

  has team_id, created_at, updated_at
end

当我运行:rake ts:index时,我收到以下错误:

rake aborted!
NoMethodError: undefined method `_reflect_on_association' for #<Class:0x007fd417610c90>

关于如何解决它有什么想法吗?

更新

我非常确定就是这一行导致了indexes user.name, as: :post_user,当我没有收到任何错误时。但协会仍然不起作用..

推荐答案

这是因为joinergem(版本0.3.2)更新,需要Rails >= 4.1.2

查看此提交:https://github.com/pat/joiner/commit/de1403ec85d21dabf21a715ae962ee31c6ffe8d1

更新到rails 4.1.2或在Gemfile中添加以下内容:

gem 'joiner', '0.3.1'

这篇关于Rails 4.1-思考-狮身人面像关联不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆