2013-09-03 13 views
5

Używając silnych parametrów szyn 4.0, jak mam zezwolić na json w ten sposób?Szyny mocne parametry z tablicą obiektów

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

Próbowałem z następujących czynności:

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

Ale to nie działa.

+1

try params.permit (users_to_employers: [{: data_poczÄ: end_date, pracodawca: {: COMPANY_NAME}]) –

+0

Dzięki, że się działać. –

Odpowiedz

7

Spróbuj

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

to powinno działać

+0

Działa, ale pracodawca powinien być z '[]', a nie '{}'? –

+0

Dlaczego tak sądzisz? –

+0

Mój rubin działa dobrze z '[]' ale nie z '{}'. Mówi, że jest to błąd składniowy z '{}', ale używam składni '{: employer => [: company_name]. –

1

prostu miałem ten sam problem i przyjął odpowiedź nie działa dla mnie. Jednak dodaje zrobił:

params.permit(users_to_employers: [:start_date, :end_date, employer: [ :company_name ]]) 
Powiązane problemy