ruby-on-rails - 强参数中允许的提交的数组参数消失
问题描述
在 Rails 5.0.2 api 中遇到强参数问题。我无法发布确切的代码,但参数收集在一个方法中,然后用于控制器中的创建操作。
def create
render_json Model.create(create_params_method)
end
def create_params_method
create_params = params.require(:model).permit(:name, array_of_ids: [])
create_params
end
当我提交请求时,params
包含array_of_params
参数,但是当它通过 params 方法运行时,它消失了,我只有名字。试图找出array_of_ids
被拒绝的地方/原因,但到目前为止还没有运气。我一直使用堆栈寻求帮助,如果需要,我可以提供更多信息,但这是我第一次真正提出问题,所以请多多包涵。
解决方案
因为params.require(:model).permit(:name, array_of_ids: [])
does 是过滤掉mentioned params
from 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
。
推荐阅读
- python - 如何通过 Python 使用 Selenium 在网站 https://www.costcobusinessdelivery.com 上获得点击次数
- r - 通过 ggplot2/latex2xp 在绘图中不可用“binom”乳胶符号
- c# - 如何从 azure 函数中引用 Cosmos 表 API?
- java - 如何在TextView中为除数字和逗号之外的任何字母设置白色?
- json - 我无法将嵌套的 json 转换为数据框。我从 API 获取 json 并希望它在数据框中
- ios - Github action macos 钥匙串访问
- postgresql - 在系统表上授予 UPDATE
- cakephp - 根据页面更改蛋糕php中的背景图像
- sql - 按日期排序未按预期运行
- javascript - ReactJS:从组件内检测 axios 调用的状态