从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的连接。
似乎我们失去了通过一个归属关联挂起属于一个协会的能力(如果你愿意的话,那就是"深层"协会)。
答案 0 :(得分:0)
您不应该将列作为方法参数 - 而是将其链接为方法:
has bar.bar_category_groups.category_group_id, :as => :cat_groups
参数语法被添加到旧版本的TS中以解决Ruby 1.8中的保留方法 - 但现在BasicObject已成为一种东西,它不再是必需的。