Rails アプリケーションで全文検索を実装するために IndexTank と Tanker gem を使用していますが、インデックスで search_tank メソッドを使用しようとするとエラー (URI::InvalidURIError bad URI(is not URI?)) が発生します。
これは、エラーが発生するコントローラーメソッドです
def search
if params[:query]
@posts = Post.search_tank(params[:query], :page => 1, :per_page => 10)
else
@posts = []
end
end
これは、インデックスを定義する Post モデルの一部です
if ENV['RAILS_ENV'] === "production"
index = 'idx'
else
index = 'test'
end
tankit index do
indexes :title
indexes :description
end
# define the callbacks to update or delete the index
after_save :update_tank_indexes
after_destroy :delete_tank_indexes
Rails コンソールでテストすると、search_tank メソッドが機能します。他の投稿は、これが config/routes.rb で設定されたルートに関連している可能性があることを示唆しているようです。私が設定したのはこれだけです。
root :to => 'public#index'
match ':controller(/:action(/:id))(.:format)'
私は答えを探し回っていますが、少し困惑しています。どんな助けでも大歓迎です。