Rails: параметр Post имеет значение null - PullRequest
0 голосов
/ 28 мая 2020

Из файла javascript у меня есть почтовый запрос с параметрами:

  Parameters: {"interview"=>{"participants"=>"1,2,3", "start_time"=>"2020-05-28T09:32:00.000Z", "end_time"=>"2020-05-28T10:32:00.000Z"}}

И я обращаюсь к нему в создании контроллера как:

puts("create entry")
@start_time =  params[:start_time]
@end_time =  params[:end_time]
p(@start_time)
p(@end_time)
participants = params[:participants].try(:split, ",")
p(participants) 

Но при проверке значений p и put такие:

create entry
nil
nil
nil

Я не мог понять, в чем причина этого.

1 Ответ

1 голос
/ 28 мая 2020

Все они находятся «под» ключом интервью, поэтому он должен быть:

@start_time = params[:interview][:start_time]
@end_time = params[:interview][:end_time]
participants = params[:interview][:participants].try(:split, ',')

В этом случае лучше использовать dig:

participants = params.dig(:interview, :participants).try(:split, ',')
...

или сохранить params[:interview] и значение "по умолчанию", если nil:

interview = params[:interview] || {}
...