2016-12-22 1 views
0
class Book < ActiveRecord::Base 
    belongs_to :owner, polymorphic: true 
end 

class User < Active record::Base 
    has_many :books, as: :owner 
end 

ここでは、name, owner_id and owner_typeの3つのフィールドがあります。今私は書籍を通してユーザーの名前を検索する必要があります。多型関連で子モデルを介して親モデルのフィールドを検索する方法

このような何か...

Book.includes(:user).where("user_name LIKE ?","bla") 

誰も私にこれを助けることができますか?

答えて

0

あなたがこれを行う場合:

Book.includes(:owner) 

を熱心にあなたは上記のこのエラーメッセージが表示されます

ポリモーフィックな関連を読み込むことができません。あなたが予約すると、ユーザー

class Book < ActiveRecord::Base 
     belongs_to :owner, polymorphic: true 
     belongs_to :user, foreign_key: 'owner_id', conditions: "owner_type = 'User'" 
end 

here

を参照してくださいとの間の関係を定義する必要が

関連する問題