Не найден обработчик для uri [/ModelName] и метода [POST]

Попытка развернуть приложение rails на производстве heroku с помощью Elasticsearch и Tire. Аддон Heroku bonsai добавлен, но все еще после запуска этой команды

heroku run rake environment bus:import CLASS=Property FORCE=true

получение ошибки:

400 : Не найден обработчик для uri [/properties] и метода [POST]

Пожалуйста, помогите отладить эту ошибку?

это моя модель собственности:

class Property < ApplicationRecord
 include Tire::Model::Search
 include Tire::Model::Callbacks

  mapping do
   indexes :id, type: 'integer'
   indexes :country
   indexes :city
   indexes :province
   indexes :holding_type
   indexes :price, boost: 10
  indexes :created_at, type: 'date'
 end
end

это моя конфигурация бонсай config/initializers/bonsai.rb

ENV['ELASTICSEARCH_URL'] = ENV['BONSAI_URL']

person webber    schedule 15.08.2017    source источник


Ответы (1)


Это уже сообщение об ошибке Elasticsearch, поэтому вы его достигаете — только ваш запрос неверен.

Здесь я делаю дикую догадку: вам не хватает type; по крайней мере, это (одна) возможность столкнуться с этой ошибкой.

$ curl -XPOST localhost:9200/properties/ -d '{"foo": "bar"}'
No handler found for uri [/properties/] and method [POST]

PS: разве шина уже не обслуживается/устарела? Я думаю, что лучшей альтернативой должен быть https://github.com/elastic/elasticsearch-rails.

person xeraa    schedule 15.08.2017
comment
Да, это создает индекс - person xeraa; 16.08.2017