Ruby on rails Rails 4强参数-在哈希中使用数组

Ruby on rails Rails 4强参数-在哈希中使用数组,ruby-on-rails,Ruby On Rails,我看过很多Rails代码示例,在强参数中看到了两个嵌套属性版本: params.require(:smth).permit(:a, b: []) params.require(:smth).permit(:a, { b: [] }) 为什么在第二个示例中需要使用大括号?提前谢谢 当许可参数中有多个散列时,应使用大括号分隔: params.require(:smth).permit(:a, { b: [] }, { c: [] }) 这将引发语法错误: params.require(:smth

我看过很多Rails代码示例,在强参数中看到了两个嵌套属性版本:

params.require(:smth).permit(:a, b: [])
params.require(:smth).permit(:a, { b: [] })

为什么在第二个示例中需要使用大括号?提前谢谢

当许可参数中有多个散列时,应使用大括号分隔:

params.require(:smth).permit(:a, { b: [] }, { c: [] })
这将引发语法错误:

params.require(:smth).permit(:a,  b: [] , c: [] )

这两个示例是相同的-当哈希是MethodThank的最后一个参数时,哈希周围的大括号是可选的!很简单:)