Этот код в рельсах 5
class PagesController < ApplicationController
def action
render nothing: true
end
end
приводит к следующему предупреждению об устаревании
DEPRECATION WARNING: :nothing` option is deprecated and will be removed in Rails 5.1. Use `head` method to respond with empty response body.
Как это исправить?
ruby-on-rails
ruby-on-rails-5
Линус Олеандр
источник
источник
head
, вот и все. Вам все равно придется искать используемый API. Обратите внимание, что это сообщение в стиле вопросов и ответов с целью быстро решить указанное выше предупреждение об устаревании без необходимости читать официальный API. Сообщение в настоящее время занимает первое место в Google по вышеупомянутому предупреждению, что и было моей первоначальной целью.Ответы:
Согласно источнику рельсов , это делается под капотом при проезде
nothing: true
по рельсам 5.Поэтому простая замена
nothing: true
наbody: nil
должна решить проблему.в качестве альтернативы вы можете использовать
head :ok
источник
head
Метод является предпочтительным синтаксисом. Намного чище.render body: nil
работал у меня,render head :ok
не работал (это дало некоторую двойную ошибку рендеринга).:ok
guides.rubyonrails.org/…head :unauthorized
- возврат кода состояния 401render head: :ok
такhead :ok
. Нетrender
. Я тоже боролся с этим.