#2045·brakeman

请求: 对 id (键) 列进行强大的参数检查

作者: kwerle创建于 2026年9月3日更新于 2026年9月4日

问题在于:初级开发人员并不完全理解 `params.permit(:id, :name)` 表示用户现在可以更改任何行的名称,而不仅仅是他们可以访问的行。同样地, `params.permit(..., :parent_id)` 表示你可以将某行分配给任何父级。但是, `params.permit(:name, children_attributes: [:id, :name])` 就没问题了,因为子级将被限定到父级。当然, `params.permit(:name, children_attributes: [:id, :name, :parent_id])` 就不合适了,除非你想允许将子级分配给任何父级。如果 brakeman 可以大声呐喊这种问题,那就太好了。

内容来源: presidentbeef/brakeman