我有一些输入会通过ajax加载,并以其他形式插入javascript,并带有以下字段:
<input name="project[config][service][3][web][auth]" type="checkbox">
和另外两个输入:
<input type="text" name="project[config][service][3][web][user]">
<input type="text" name="project[config][service][3][web][pass]">
如何允许控制器接受这些值?
我尝试了这些:
params.require(:project).permit(
:title,
:description,
config: [
service: {
[] => [
:domains,
web: [
:auth,
:user,
:pass
]
]
}
],
documents: []
)
但是没有用。
在控制台中,我将其设置为project_params[:config]
{"service"=><ActionController::Parameters {"3"=><ActionController::Parameters {} permitted: true>} permitted: true>}
params[:project][:config]
看起来像这样:
{
"service" => {
"3" => {
"web" => {
"auth"=>"on",
"user"=>"asdasdasdasda",
"pass"=>"asdasdasd"
}
}
}
}
答案 0 :(得分:1)
以这种方式尝试,它应该可以工作:
params.require(:project).permit(
:title,
:description,
config: {
service: [
:domains,
web: [:auth, :user, :pass]
]
},
documents: []
)