0

次のエラーが発生する理由がわかりません。

can't convert Array into Hash

アプリケーション トレースは次のとおりです。

app/models/channel.rb:21:in `search'
app/controllers/posts_controller.rb:107:in `browse'

次のコードは channel.rb (アプリ トレースで参照) からのもので、21 行目は「tire.search...」です。

def self.search(params)
  tire.search(['posts_index', 'channels_index'],{load: true}) do
    query { string params[:query], default_operator: "AND" } if params[:query].present? 
    sort { by :created_at, "desc" } if params[:query].blank?
  end
end

上記のトレースでも参照されている、posts_controller.rb の参照アクションも含めました。

def browse
    @user = current_user
    @channels = Channel.search(params)
    @posts = Post.search(params)
end

私の目標は、Tire/ElasticSearch を使用して複数のインデックスを検索することです。どんな助けでも大歓迎です!

4

2 に答える 2

0

私はこの質問の言い回しを少し変えてしまい、解決することができました。参照: Tire と ElasticSearch を使用して複数のモデルを検索する

于 2013-09-24T16:38:55.097 に答える