Rails:Post参数为空

问题描述 投票:0回答:1

从一个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

我不明白背后的原因是什么。

ruby-on-rails api post parameters
1个回答
0
投票

他们都在面试密钥的“下面”,所以应该是:

@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] || {}
© www.soinside.com 2019 - 2024. All rights reserved.