Rails 4 não atualizando atributos aninhados via JSON

Eu pesquisei questões relacionadas e ainda tenho um problema ao atualizar os atributos aninhados nos rails 4 a JSON retornados do meu front-end do AngularJS.

Questão: O código abaixo descreve o JSON passado do AngularJS para o modelo Candidate no meu aplicativo Rails4. O modelo Candidate tem muitos Works e estou tentando atualizar o modelo do Works por meio do modelo Candidate. Por algum motivo, o modelo do Works não é atualizado, e espero que alguém possa apontar o que está perdendo. Obrigado pela ajuda.

Aqui está o json no front-end do AngularJS para o candidato:

{"id"=>"13", "nickname"=>"New Candidate", "works_attributes"=>[
{"title"=>"Financial Analyst", "description"=>"I did things"},
{"title"=>"Accountant", "description"=>"I did more things"}]}

O Rails então traduz esse JSON para o seguinte, adicionando o cabeçalho candidato, mas não inclui os atributos aninhados no cabeçalho candidato eFalha ao atualizar os works_attributes através do modelo candidato:

{"id"=>"13", "nickname"=>"New Candidate", "works_attributes"=>[
{"title"=>"Financial Analyst", "description"=>"I did things"},
{"title"=>"Accountant", "description"=>"I did more things"}],
"candidate"=>{"id"=>"13", "nickname"=>"New Candidate"}}

O candidate_controller.rb contém uma atualização simples:

class CandidatesController < ApplicationController

    before_filter :authenticate_user!

  respond_to :json

  def update
    respond_with Candidate.update(params[:id], candidate_params)
  end

private

  def candidate_params
    params.require(:candidate).permit(:nickname,
      works_attributes: [:id, :title, :description])
  end

end

O modelo candidate.rb inclui o seguinte código que define o relacionamento has_many com o modelo de trabalho:

class Candidate < ActiveRecord::Base

  ## Model Relationships
  belongs_to :users
  has_many :works, :dependent => :destroy  

  ## Nested model attributes
  accepts_nested_attributes_for :works, allow_destroy: true

  ## Validations
  validates_presence_of :nickname
  validates_uniqueness_of :user_id

end

E finalmente, o modelo works.rb define o outro lado do relacionamento has_many:

class Work < ActiveRecord::Base
  belongs_to :candidate
end

Agradeço qualquer ajuda que você possa fornecer, pois tenho certeza de que estou perdendo algo bastante simples.

Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion