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
質問:私はタイプ(常に空の配列)で検索することはできません。バグ?フォロワーが「AAA」タイプのユーザーをすべて取得したいと考えています。Railsの+思考-スフィンクスのポリモーフィックな関連
User.search ''、:=>と{:follower_type => 'AAA'}
質問:なぜ私は(インデックス定義)正しい結果を得るために、私の関連を逆しなければならないの: は、以下の(:id)、:as =>:followable_id の代わりにfollowable(:id)、:as:>:followable_id id = 1のユーザーのフォロワーのリストを取得します
User.search:with => {:followable_id => 1}#id = 1のユーザのフォロワーのリスト
Thx!
@pat Thxあなたのansware用!データベースについては、このプラグインを参照してください:https://github.com/xpepermint/acts_as_followable。モデルはそこからコピーされます(2番目の質問用)。 – xpepermint
@patまた、最初の質問には "CRC32(follow.flowable_type)"があります。:as:>:followable_type、:type =>:integer "index definition right?働いていない。 – xpepermint
':type =>:multi'を試してください - あなたは整数の配列を扱っています。フィルタは ':with = = {{followable_type => 'AAA'.to_crc32}'でなければなりません。 – pat