Опция ": ничего" устарела и будет удалена в Rails 5.1 - программирование
Подтвердить что ты не робот

Опция ": ничего" устарела и будет удалена в Rails 5.1

Этот код в рельсах 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.

Как это исправить?

4b9b3361

Ответ 1

Согласно источник рельсов, это делается под капотом при передаче nothing: true в рельсах 5.

if options.delete(:nothing)
  ActiveSupport::Deprecation.warn("`:nothing` option is deprecated and will be removed in Rails 5.1. Use `head` method to respond with empty response body.")
  options[:body] = nil
end

Просто замена nothing: true на body: nil должна поэтому решить проблему.

class PagesController < ApplicationController
  def action
    render body: nil
  end
end

альтернативно вы можете использовать head :ok

class PagesController < ApplicationController
  def action
    head :ok
  end
end