Я нахожу странное поведение в Rails 5, если вы используете это:
{ format: :json }
В вашем config/routes.rb
тогда, даже если JSON не установлен в вашем заголовке accept, он все равно приводит запрос к JSON-запросу, в том числе для тестов контроллера, у которых установлена опция as: :html
. Для меня это не имеет большого значения, поэтому я не буду разбираться, почему это так, но если кто-то это выяснит, дайте мне знать, и я обновлю этот ответ.