Rails 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.
どうすれば修正できますか?
Rails source によると、これはRailsで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