参数中嵌套的多重散列
问题描述:
我有一些嵌套的散列。例如,我设置了一个参数。参数中嵌套的多重散列
params = {
id: @account.id,
account: {
'raw_one_call_settings' => {
'service_areas' => {
'0' => {'id' => 'QWE', 'ivrid' => ''},
'1' => {'id' => 'RTY', 'ivrid' => ''}
}
}
}
}
问题是,它没有散列许可证。
params.require(:account).permit(raw_one_call_settings: {service_areas:{}})
我得到:
=> <ActionController::Parameters {"raw_one_call_settings"=><ActionController::Parameters {"service_areas"=><ActionController::Parameters {"0"=><ActionController::Parameters {} permitted: true>, "1"=><ActionController::Parameters {} permitted: true>} permitted: true>} permitted: true>} permitted: true>
我如何获得价值?
答
这给一试:
params.require(:account).permit(raw_one_call_settings: { service_areas: [:id, :ivrid] })
答
试试这个
params.require(:account)
.permit(:id, :account => [:raw_one_call_settings =>{:service_areas=> [:id, :ivrid] }])
@Vadim B如果满意我的回答,然后使其正确和投票了 –