web-dev-qa-db-fra.com

L'option ": none" est obsolète et sera supprimée dans Rails 5.1

Ce code dans Rails 5

class PagesController < ApplicationController
  def action
    render nothing: true
  end
end

entraîne l'avertissement de dépréciation suivant

DEPRECATION WARNING: :nothing` option is deprecated and will be removed in Rails 5.1. Use `head` method to respond with empty response body.

Comment puis-je réparer ça?

98
Oleander

Selon the Rails source , cela se fait sous le capot lors du passage de nothing: true in Rails 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

Je viens de remplacer nothing: true avec body: nil devrait donc résoudre le problème.

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

vous pouvez aussi utiliser alternativementhead :ok

class PagesController < ApplicationController
  def action
    head :ok
  end
end
151
Oleander