Rails wrap_parameters vs include_root_in_json, qual é a diferença?

Em um novo aplicativo do Rails 3.2, você pode encontrar em config / initializers / wrap_parameters.rb as seguintes linhas:

ActiveSupport.on_load(:action_controller) do
  wrap_parameters format: [:json]
end

# Disable root element in JSON by default.
ActiveSupport.on_load(:active_record) do
  self.include_root_in_json = false
end

Meu entendimento para o segundo bloco de código é que, se você converter um objeto em json, ele não incluirá um nó raiz (isto é, usuários => {: name => 'John'}, mas será apenas {: name => ' John'}

O que então faz o primeiro bloco wrap_parameters? Atua no action_controller .. por quê?

questionAnswers(1)

yourAnswerToTheQuestion