Rails 4.1 – 思考 – 狮身人面像协会无法正常工作
我有一个Rails应用程序包含两个模型, Post
和User
,我正在使用Sphinx
和thinking-sphinx
gem来启用搜索。 每个post属于一个用户,使用belongs_to
,每个用户可以有很多post。 当我搜索post时,我也希望能够通过创建post的用户名进行搜索。 我的post索引如下:
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 #
关于如何解决它的任何想法?
更新
我很确定这条线导致他将indexes user.name, as: :post_user
,当我没有收到任何错误时。 但该协会仍然无效..
这是由于joiner
gem(版本0.3.2
)中的更新,需要Rails >= 4.1.2
。
看到这个提交: https : //github.com/pat/joiner/commit/de1403ec85d21dabf21a715ae962ee31c6ffe8d1
更新到Rails 4.1.2或将以下内容添加到您的Gemfile
:
gem 'joiner', '0.3.1'