2013-09-03 10 views
5

Quando si utilizzano i parametri forti di rails 4.0, come posso consentire a json come questo?Parametri forti di Rails con array di oggetti

{ 
    "user": 
    { 
     "first_name":"Jello" 
    }, 
    "users_to_employer":[ 
     { 
      "start_date":"2013-09-03T16:45:27+02:00", 
      "end_date":"2013-09-10T16:45:27+02:00", 
      "employer":{"company_name":"Telenor"} 
     }, 
     { 
      "start_date":"2013-09-17T16:45:27+02:00", 
      "end_date":null, 
      "employer":{"company_name":"Erixon"} 
     } 
    ] 
} 

ho provato con il seguente:

params.require(:users_to_employers => []).permit(
               :start_date, 
               :end_date => nil, 
               :employer => [ 
                :company_name 
               ]) 

Ma non ha funzionato.

+1

prova params.permit (users_to_employers: [{: START_DATE,: data_finale, datore di lavoro: {: company_name}]) –

+0

Grazie, che ha reso il lavoro. –

risposta

7

Prova

params.permit(users_to_employers: [{ :start_date, :end_date, employer: [ :company_name ]]) 

questo dovrebbe funzionare

+0

Funziona ma il datore di lavoro dovrebbe essere con '[]' e non '{}'? –

+0

Perché la pensi così? –

+0

Il mio ruby ​​funziona bene con '[]' ma non con '{}'. Dice che si tratta di un errore di sintassi con '{}', ma sto usando la sintassi '{: employer => [: company_name]. –

1

Ho appena avuto lo stesso problema e la risposta accettata non ha funzionato per me. Tuttavia, il seguente fatto:

params.permit(users_to_employers: [:start_date, :end_date, employer: [ :company_name ]]) 
Problemi correlati