Ruby on rails 强参数中的嵌套数组
我有通过ajax加载的输入,并使用javascript以其他形式插入,其中包含以下字段:Ruby on rails 强参数中的嵌套数组,ruby-on-rails,model-view-controller,ruby-on-rails-6,Ruby On Rails,Model View Controller,Ruby On Rails 6,我有通过ajax加载的输入,并使用javascript以其他形式插入,其中包含以下字段: <input name="project[config][service][3][web][auth]" type="checkbox"> 但它不起作用。 在控制台中,我将此作为项目参数[:config] 试着这样做,它应该可以工作: params.require(:project).permit( :title, :description, co
<input name="project[config][service][3][web][auth]" type="checkbox">
但它不起作用。
在控制台中,我将此作为项目参数[:config]
试着这样做,它应该可以工作:
params.require(:project).permit(
:title,
:description,
config: {
service: [
:domains,
web: [:auth, :user, :pass]
]
},
documents: []
)
是的,谢谢!但是你能解释一下我的手机为什么出了问题吗@Evolutio问题在服务方面:{[]=>[definition。当键为空数组时添加的哈希。您不必这样做。Rails通过键中的数字识别数组,并为您执行数组处理。
params.require(:project).permit(
:title,
:description,
config: [
service: {
[] => [
:domains,
web: [
:auth,
:user,
:pass
]
]
}
],
documents: []
)
{"service"=><ActionController::Parameters {"3"=><ActionController::Parameters {} permitted: true>} permitted: true>}
{
"service" => {
"3" => {
"web" => {
"auth"=>"on",
"user"=>"asdasdasdasda",
"pass"=>"asdasdasd"
}
}
}
}
params.require(:project).permit(
:title,
:description,
config: {
service: [
:domains,
web: [:auth, :user, :pass]
]
},
documents: []
)