问题标签 [mass-assignment]
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-3 - 收到批量作业警告但不知道为什么
我对以下关于批量分配的警告感到非常困惑:
这是我的上传模型:
这是我的用户模型
模型中没有 :upload_id 。
在控制器更新操作中:
谁能告诉我为什么会收到此错误。该应用程序有效,但我想解决这个问题。
asp.net - 使用 RestSharp、POST 请求进行批量分配 - MVC3
我一直在做大量的研究,试图找到与我的 ASP.NET MVC3 应用程序交流批量分配 POST 请求的最佳方式,但没有取得多大成功。
场景如下:
就像我提到的,我有一个带有标准 REST 方法的 ASP.NET MVC3,我试图用它与桌面应用程序(另一个内部编写的应用程序)进行通信。作为一个原型,我们只是通过WebClient使用暴力 XML 文档上传,然后让 MVC3 应用程序解析 XML 文档。为了保持这种行为,我们必须不断地构建多种方法,一种用于 XML 文档解析,另一种用于网站上的标准模型使用。如果可以的话,我想远离它。
经过我所有的研究,我遇到了RestSharp,我想知道是否有办法使用 RestSharp 处理批量分配 POST 请求。我希望能够执行以下操作:
在 MVC3 应用程序中...
在桌面应用程序...
谁能给我任何关于如何实现这一目标的指示?
ruby-on-rails - Rails“批量分配” - 这到底是什么?
Rails 文档并没有说得很清楚,但似乎 update_attributes 的所有使用都构成批量分配,如果使用 attr_accessible,则所有属性都需要列入白名单。update_attributes 的文档没有提到这一点:
update_attributes(attributes)
使用传入的 Hash 中的所有属性更新此资源并请求保存记录。
如果由于连接或远程服务错误而导致保存失败,则会引发异常。如果由于资源无效而导致保存失败,则将返回 false。
注意:虽然此请求可以使用资源的部分属性集进行,但请求的完整主体仍将在保存请求中发送到远程服务。
是否有任何其他我应该注意的方法触发这种质量分配限制?
ruby-on-rails - 为什么切片 params 散列会对批量分配造成安全问题?
通过批量分配防止安全风险的官方方法是使用attr_accessible。然而,一些程序员认为这不是模型的工作(或者至少不仅仅是模型)。在控制器中执行此操作的最简单方法是切片params哈希:
但是文档指出:
请注意,使用 Hash#except 或 Hash#slice 代替 attr_accessible 来清理属性不会提供足够的保护。
这是为什么?为什么白名单切片参数不能提供足够的保护?
更新: Rails 4.0 将发布 strong-parameters,一个精细的参数切片,所以我想整个切片的事情毕竟不是那么糟糕。
ruby-on-rails - Rails 3.1 attr_accessible 验证接收角色数组
我想使用 rails 新的动态 attr_accessible 功能。但是,我的每个用户都有许多角色(我正在使用声明式授权)。所以我的模型中有以下内容:
我在我的控制器中传递了这个:
user_roles 是一个符号数组:
我希望我的模型检查数组中的一个符号是否与声明的 attr_accessible 匹配。因此,我避免任何重复。
例如,假设 user_roles =[:admin, :employee]。这有效:
但是如果我只能验证一个角色或符号,因为我的所有用户都有很多角色,那么它是没有用的。
任何帮助将不胜感激
** * ** * ** * ** * ***更新* ** * ** * ** * ** * ** * ** * ** * **
您可以在此处下载示例应用程序: https ://github.com/jalagrange/roles_test_app
此应用程序中有 2 个示例: y 无法更新任何属性的学生,尽管事实上 'user_roles = [:admin, :student]'; 而我只能更改名字的人,因为我在控制器更新操作中使用“user_roles.first”。希望这可以帮助。我确定其他人一定有这个问题。
ruby-on-rails - Rails 3:使用 ActiveAdmin 和 has_one 进行批量分配
我正在开发一个 Rails 应用程序,其中有两个模型User
和Client
.
User
由设计支持并负责身份验证并has_one
Client
保存给定用户的客户端详细信息。这种关系始终存在,因为我确保Client
在创建User
.
对于我正在使用的管理区域ActiveAdmin
。现在,当我尝试User
通过管理界面创建一个时,我使用这样的表单:
问题是 要么 要么被保存User
并且Client
页面被重新加载并出现验证错误。我检查了 rails 控制台,WARNING: Can't mass-assign protected attributes: client_attributes
每次尝试创建User
.
我已经搜索了这个问题,发现为了允许批量分配,必须为允许分配attr_accessible
的每个字段定义。因此,我已将此指令放入Client
上述每个字段的模型中,并且消息不断出现,从而阻止模型正确保存。
有人对此有任何线索吗?
ruby-on-rails - Rails 中的 attr_accessible 的对立面是什么?
Rails 中的 attr_accessible 的对立面是什么?
我不想写每一个属性,我只想写我想要阻止的那些。
ruby-on-rails - STI和mongoid中的嵌套属性质量分配?
关于使用 mongoid 通过嵌套属性进行批量分配的问题。
例子:
这将输出以下内容:
如果注释掉的行
在我得到以下评论:
请注意小时值是如何没有从默认值更新的。
问题,为什么在 attr_accessible 中的评论会破坏我文档的持久性。我也是 Rails 的新手,我并不完全理解 attr_accessible,但我知道我需要它来通过我的视图填写字段。如何使用注释的 attr_accessible 行让我的文档保持不变?
谢谢
ruby-on-rails - Mongoid:如何防止批量赋值创建未定义的字段?
这是代码:
请注意,age
它没有被定义,但它被保存了。
这是有问题的(可能是 DoS 的来源),因为恶意用户可以在 POST 中添加任何参数,并且带有大字符串的未知字段可以潜入。(例如name=foo&bogus=#{'x'*1000000}
)
到目前为止,除了 之外,我什么也找不到attr_accessible
,但这对 Mongoid 来说并不是很好,因为您必须在所有模型中field
始终保持相同的字段名称。attr_accessible
不干燥。
我认为attr_accessible
API 非常适合 ActiveRecord,因为有一个。您没有在模型(DRY)和b 中明确定义字段。保证不会将不存在的字段保存到 RDB。但是对于 Mongoid,我认为应该有比attr_accessible
.
请注意,有一个全局配置设置allow_dynamic_fields
,但它与批量分配无关,因此超出了本次讨论的范围,但我认为它实际上应该是每个模型的宏,并且还应该处理批量分配。
你是如何处理这个问题的?
ruby-on-rails - 从 JSON 反序列化 ActiveRecord
我想使用 JSON 序列化将查询结果保存到 redis 中并查询回来。
将查询结果获取到 json 非常简单:
但是我没有找到将其反序列化回 ActiveRecord 的正确方法。最直接的方法:
给我一个错误:
所以 id 变空。我想只使用 OpenStruct 而不是 ActiveRecord 来查看视图,但我相信有更好的方法。