Поскольку params.require(:model).permit(:name, array_of_ids: [])
делает, отфильтровывает mentioned params
из received params
, поэтому, если у вас есть что-то еще, оно пропадет. Например, если вы получите
user: {id: 1, name: 'sahil', last_name: 'grover', roles: [1,2,3], is_admin: true}
и ваш фильтр параметров будет
params.require(:user).permit(:id, :name, :last_name, roles: [])
, то вы получите в результате
{id: 1, name: 'sahil', last_name: 'grover', roles: [1,2,3]}
is_admin
, поскольку он не указан в permitted params
.