升级思维狮身人面像 - 深层联想

时间:2016-01-26 19:30:56

标签: ruby-on-rails thinking-sphinx

从TS 2.x升级到TS 3.1.1

我有一个通过协会: bar has_many category_groups到bar_category_groups

在我的bar索引中,我有这个,它运行正常:

  

有bar_category_groups(:category_group_id),:as => :cat_groups

我也有模特" foo",属于一个酒吧。 在我的foo索引中,我之前有过这个,它在TS 2.x中运行良好

  

有bar.bar_category_groups(:category_group_id),:as => :cat_groups

在TS 3中,我得到了#34; ThinkingSphinx :: MissingColumnError:列bar_category_groups不存在"

我也在我的索引顶部有bar和bar.bar_category_groups的连接。

似乎我们失去了通过一个归属关联挂起属于一个协会的能力(如果你愿意的话,那就是"深层"协会)。

1 个答案:

答案 0 :(得分:0)

您不应该将列作为方法参数 - 而是将其链接为方法:

has bar.bar_category_groups.category_group_id, :as => :cat_groups

参数语法被添加到旧版本的TS中以解决Ruby 1.8中的保留方法 - 但现在BasicObject已成为一种东西,它不再是必需的。