Не удалось зарегистрировать событие render_template.action_view после обновления рельсов до 4.2.8.

Я занимаюсь обновлением приложения rails, которое в основном обслуживает JSON. Последняя рабочая версия, до которой мне удалось обновиться, — 4.1. После того, как я обновился до 4.2, запросите спецификации, которые выдают странные ошибки в журнале испытаний:

Could not log "render_template.action_view" event. NoMethodError: undefined method `render_views?' for #<Class:0x007fe544a2b170>

Где-то я читал, что это связано с тем, что рельсы пытаются отобразить представление, которого нет. Перед переходом на рельсы 4 мы ставили headers['CONTENT_TYPE'] = 'application/json' и все было нормально. Я читал, что это больше не работает с рельсами 4. Я уже пытался добавить format: :json, как предлагается здесь: Установите для Rspec формат запроса GET по умолчанию в JSON, что не помогло.

Любая помощь в том, как снова запустить спецификации, будет принята с благодарностью.


person Daniel Becker    schedule 18.05.2017    source источник


Ответы (1)


Как оказалось, эта ошибка возникает, если в блоке конфигурации rspec отсутствует включение. Добавление

RSpec.configure.include RSpec::Rails::ViewRendering

исправляет эту проблему.

person Daniel Becker    schedule 19.05.2017