ruby-on-rails - 强参数中的嵌套数组
问题描述
我有通过 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"
}
}
}
}
解决方案
试试这种方式,它应该工作:
params.require(:project).permit(
:title,
:description,
config: {
service: [
:domains,
web: [:auth, :user, :pass]
]
},
documents: []
)
推荐阅读
- spring-boot - 包装器类型路径变量不接受空值 - Spring Boot
- android - 第一次使用反应。Rss显示问题
- python - Pandas 将组结果的所有列汇总为一个结果
- r - 向量 R 中的结构数
- spring-boot - 如何将百里香表单数据发布到控制器
- java - 颤振医生--android-licenses线程“主”java.lang.NoClassDefFoundError中的异常:javax/xml/bind/annotation/XmlSchema
- laravel - 问题 'SQLSTATE[42S02]: 未找到基表或视图
- oracle - Spring JDBC Oracle Session 改线程下
- ruby-on-rails - 我应该如何处理这个异常?
- angular - 自动调整列标题的大小Angular slickgrid