Szyny 4 Nie aktualizuje zagnieżdżonych atrybutów przez JSON

Przeszukałem pokrewne pytania i nadal mam problem z aktualizacją zagnieżdżonych atrybutów w szynach 4 do JSON zwróconych z mojego frontonu AngularJS.

Pytanie: Poniższy kod przedstawia JSON przekazany z AngularJS do modelu Kandydat w mojej aplikacji Rails4. Model Candidate ma wiele prac i próbuję zaktualizować model Works za pomocą modelu Candidate. Z jakiegoś powodu model Works nie aktualizuje się i mam nadzieję, że ktoś wskaże, czego mi brakuje. Dzięki za pomoc.

Oto json w interfejsie AngularJS dla kandydata:

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

Rails następnie tłumaczy ten JSON na następujący, dodając nagłówek kandydata, ale nie zawiera zagnieżdżonych atrybutów w nagłówku kandydata inie aktualizuje atrybutów works_attributes przez model kandydata:

{"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"}}

Kandydat_kontrolera.rb zawiera prostą aktualizację:

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

Model kandydata.rb zawiera następujący kod definiujący relację has_many z modelem prac:

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

I wreszcie, model works.rb definiuje drugą stronę relacji has_many:

class Work < ActiveRecord::Base
  belongs_to :candidate
end

Doceniam każdą pomoc, jaką możesz zapewnić, ponieważ jestem pewien, że brakuje mi czegoś prostego.

Dzięki!

questionAnswers(3)

yourAnswerToTheQuestion