2016-12-02 12 views
2

私は本を検索する必要があり、ユーザーは他のユーザーの書籍を表示せずに本のみを検索できる必要があります。Searchkick on RailsでElasticsearchを使用して関連付けによってユーザーアイテムを検索しますか?

ブックモデル

has_many :authors 
has_many :users, through: :authors 

私が説明したhereとして検索してみましたが、それはうまくいきませんでした。

@Books = Book.search "*", where: { user_id: current_user.id} 

私はbooksモデルがuser_id

答えて

1

を持っていないので、それはあなたがこれを行うことができ、いくつかの方法がおそらくあります動作しませんでしたと信じています。 は、ここに1つです:searchkick書籍のインデックスを通じて検索が、唯一のIDがコントローラのユーザーbook_ids

ユーザモデル

# assuming you have: 
has_many :books, through: :authors 

のいずれかに一致する本を返す

# change your where clause to filter based on book id 
@Books = Book.search "*", where: { id: current_user.book_ids} 
関連する問題