问题标签 [strong-parameters]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 为什么切片 params 散列会对批量分配造成安全问题?
通过批量分配防止安全风险的官方方法是使用attr_accessible。然而,一些程序员认为这不是模型的工作(或者至少不仅仅是模型)。在控制器中执行此操作的最简单方法是切片params哈希:
但是文档指出:
请注意,使用 Hash#except 或 Hash#slice 代替 attr_accessible 来清理属性不会提供足够的保护。
这是为什么?为什么白名单切片参数不能提供足够的保护?
更新: Rails 4.0 将发布 strong-parameters,一个精细的参数切片,所以我想整个切片的事情毕竟不是那么糟糕。
ruby-on-rails - Mongoid 和质量分配
我有以下 mogoid 文档定义/类:
然后我有以下控制器和保存方法:
这对我来说似乎是错误的,并且对批量分配问题持开放态度。
人们通常如何防止这种情况发生,使用强参数 gem 会是一个好主意吗?
ruby-on-rails - 设计和强大的参数
我想知道如何集成这两个 gem(设计 + 强参数),因为强参数可能会在 4.0 中添加到 rails 核心
欢迎任何帮助谢谢
ruby-on-rails-3.2 - Rails Admin 的强参数
我已经构建了一个使用strong_parameters的 Rails 3.2 应用程序,它工作得很好。我是在每个模型的基础上这样做的,如下所示:
我的控制器有适当的代码来允许参数哈希键等。
现在,我想添加rails_admin来管理模型,但是因为 rails_admin 控制器不是为使用强参数而设计的,所以我得到了一个ActiveModel::ForbiddenAttributes
异常,正如我所料。
所以我的问题是:他们有什么办法解决这个问题,还是我应该分叉 rails_admin 并自己添加它?如果有一些我不知道的简单解决方案,我只想避免额外的工作。
谢谢!
ruby-on-rails - CanCan load_and_authorize_resource 触发 Forbidden Attributes
我有一个使用强参数的标准 RESTful 控制器。
在我的config/initializers
我有文件strong_parameters.rb
当我向 CanCan's 添加一个简单的调用时,load_and_authorize_resource
我得到
在@attr
测试中定义为
在测试中,我已正确设置所有内容以登录用户并为他们提供成为管理员所需的角色,所以我知道不是这样。我不知道为什么这会导致 ForbiddenAttributes 触发。我敢肯定这是我忽略的一些简单的事情。有没有其他人遇到过这个问题并找到了解决方案?
ruby-on-rails - 如何让 ActiveAdmin 使用强参数?
更新:这个问题是在 ActiveAdmin 中已经有解决方案之前提出的。正如 Joseph 所说,ActiveAdmin 文档现在包含此信息,但这里的答案是为那些使用旧版本 ActiveAdmin 的人提供的。
当 strong_parameters 0.1.4 与 Rails 3.2.8 中的 ActiveAdmin 0.5.0 一起使用时,如果您使用的模型正在使用 StrongParameters,请包括:
如果您尝试创建/编辑记录,则会在日志中收到以下错误:
ruby-on-rails - 让 rails-api 和 strong_parameters 一起工作
当包括
一起在我的身边,Gemfile
呼唤params.require
调用失败并出现以下错误require()
。
回溯显示strong_parameters
' ActionController::StrongParameters
'require()
方法从未被命中。
ruby-on-rails - Rails 3.2.8 中的强参数
该视频指出,可以保护通过控制器进入的输入,但仍然可以通过模型和规格进行批量分配。但是,在 3.2.8 中使用 strong_parameters 时,我没有看到此功能被记录为功能。
我知道我需要混合ActiveModel::ForbiddenAttributesProtection
到我的模型中并设置config.active_record.whitelist_attributes = false
. config/application.rb
我还attr_accessible
从模型中提取了所有呼叫。
不管有没有 mixin,我都会收到大量分配错误。
ActiveModel::MassAssignmentSecurity::Error:
Can't mass-assign protected attributes: home_phone, cell_phone
我错过了什么吗?
ruby-on-rails - Rails 4 强参数:允许所有属性?
我正在使用 Rails 4 强参数构建一个 Web 应用程序。
在构建管理员后台控制器时,我想知道允许所有模型属性的最佳方法是什么?
现在,我写了这个:
你想到更好的方法了吗?
ruby-on-rails - Rails 4.0 强参数嵌套属性,其键指向哈希
我在玩 Rails 4.x beta 并试图让嵌套属性与carrierwave一起使用。不知道我在做什么是正确的方向。在四处搜索之后,最终查看了 rails 源和强大的参数,我找到了以下注释。
所以它说你必须指定has中的每一个属性,我尝试了以下方法:
帕拉姆的例子:
控制器
以上不是“工作”(它没有触发载波)但是当使用我发现的标准嵌套示例时,我不再收到错误(未经允许的参数:文件名):
如果有人可以提供帮助,那就太好了。我找不到一个嵌套了指向哈希的键的示例。