首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails + Thinking-Sphinx多态关联

Rails + Thinking-Sphinx多态关联
EN

Stack Overflow用户
提问于 2010-11-27 08:32:21
回答 1查看 884关注 0票数 2
代码语言:javascript
复制
class User < ActiveRecord::Base
  has_many :followings, :as => :followable, :dependent => :destroy, :class_name => 'Follow'
  has_many :follows, :as => :follower, :dependent => :destroy

  define_index do
    has follows.followable(:id), :as => :followable_id
    has followings.follower(:id), :as => :follower_id
    has follows.followable(:type), :as => :followable_type
    has followings.follower(:type), :as => :follower_type
  end
end 
  1. 问题:我无法按类型进行搜索(总是为空数组)。窃听器?我想让所有的用户,那里的追随者是类型'AAA‘。 User.search '',:=> { :follower_type => 'AAA‘}
  2. 问:为什么我必须反向关联才能得到正确的结果(索引定义):follows.followable(:id),:as => :followable_id而不是followings.followable(:id),:=> :followable_id,我想为一个有id=1的用户获取一个追随者列表。 User.search :使用=> {:followable_id => 1} # id=1用户的追随者列表

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-27 09:54:21

关于第一个问题,字符串过滤器不适用于狮身人面像。这种情况在将来应该会改变(一旦考虑到Sphinx支持新特性,将使用Sphinx1.10-beta),但不确定何时会发生这种情况(我很想说,但什么也不能保证)。

有可用的解决办法,尽管.但是请记住,您正在处理一个字符串数组,因此这是一个额外的复杂性级别。

至于第二个问题,我很难弄清楚数据库是什么样子(名字让人费解,但我现在还没有集中注意力),所以我现在就把它放在这里。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4290756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档