问题标签 [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.

0 投票
2 回答
7490 浏览

ruby-on-rails - Rails 无法为 id、created_at 批量分配受保护的属性

我使用 rails 作为backbone.js 站点的服务器端,因此我不断地来回传递rails 对象。

我注意到 rails 返回的错误WARNING: Can't mass-assign protected attributes: id, created_at, updated_at

当然,我觉得这很奇怪,因为我从来不需要包含这些字段据我所知,我的 json 看起来相当正常

0 投票
1 回答
616 浏览

ruby-on-rails - 将 ActsAsTaggableOn 扩展为具有图像,但出现“无法批量分配受保护的属性:tag_image”错误

我正在使用acts_as_taggable_on gem 来标记广告。它工作正常,但我需要标签有图像,所以我决定扩展插件并编写这个模块:

在初始化文件中:

它应该可以工作,但是当我尝试使用图像(来自 ActiveAdmin)保存标签时,我得到:Can't mass-assign protected attributes: tag_image

对此有什么建议吗?

0 投票
1 回答
753 浏览

ruby-on-rails - 如何解决 Rails 批量分配问题?

在昨天的大新闻之后,我一直试图找到一篇关于如何解决不同版本的 Rails 的问题的可靠文章,但我无法做到。

到目前为止我发现的最好的资源是https://gist.github.com/1978249#file_securing_rails_updates.md,但它只提供了一种解决方案:添加ActiveRecord::Base.send(:attr_accessible, nil)到初始化程序。这也是更早的时间在http://railspikes.com/2008/9/22/is-your-rails-application-safe-from-mass-assignment上提出的解决方案。

不过同时,我记得在另一个地方看到过,只要打开配置:config.active_record.whitelist_attributes = true应该就够了。

我非常困惑,从所有这些不同的资源中,我需要在两个解决方案之间做出决定,这两个解决方案对它们适用的 Rails 版本没有任何参考。

也许我在事件发生后错过了一篇关于修复的通用文章,但我没有在 rails 博客上找到一篇文章来说明这一点。我在其他地方找不到它,有人可以请教我。谢谢!

0 投票
1 回答
109 浏览

ruby-on-rails-3 - 如何保护属性免受大规模分配

嗨,我有一个 NOOB 问题,鉴于 GITHUB 发生的事情,由于 Rails 中的安全漏洞,他们的应用程序被利用。

在 Rails 中保护对象属性但仍允许在适用的情况下为其赋值的最佳方法是什么?

谢谢

0 投票
1 回答
1437 浏览

ruby-on-rails - 用于 attr_accessible/protected 的 Rails 3 配置设置

我刚刚花了很长时间试图解决模型中的虚拟属性问题。原来我只是忘记在我的模型中将它添加到 attr_accesible 中。当然,我应该更早地抓住它,或者更好地通过首先将它添加到 attr_accessible 来开始整个努力。

为了防止这种情况再次发生,如果我尝试批量分配某些东西并在它受到保护/无法访问时对其进行验证,是否有一个配置设置可以标记为在开发中引发异常?我知道我可以使用 setconfig.active_record.whitelist_attributes = true来要求所有人的白名单,但我的问题更多的是基于单个属性。

例如,如果我有一个带有 attr_accessible :name 的模型然后添加 :nickname (虚拟或非虚拟),上面的行不会警告我,并尝试批量分配它以检查存在 => true。我希望它警告我我试图通过批量分配来验证受保护的属性。

0 投票
2 回答
1121 浏览

ruby-on-rails - Rails 3.2,批量分配,动态角色?

我有一个带有包含admin属性的用户模型的 Rails 应用程序。它被锁定使用attr_accessible。我的模型如下所示:

这是我的用户控制器中的更新方法:

我的应用程序控制器中有一个辅助方法,它将角色作为字符串传回:

我也config.active_record.whitelist_attributes = true入了config/application.rb

我已经验证该current_user_role方法是否根据当前用户的管理员状态返回正确的值。Rails 不会抛出质量分配错误。但是,当我以管理员身份登录时尝试更新用户的管理员状态时,Rails 会执行更新并默默地忽略该admin属性。在 Rails 控制台中拉出用户的记录表明该记录尚未被修改。

我感觉有一个我不知道的特定于 Ruby 或 Rails 的问题在起作用。我找不到有关使角色动态化的任何信息。我能找到的最好的就是这个

0 投票
2 回答
235 浏览

ruby-on-rails - Rails atttr_accesible 未按记录工作

在 rails 3.2.1 中,我有一个模型:

我不断收到ActiveModel::MassAssignmentSecurity::Error以下内容:

当我想要它做的只是忽略该:confirmed属性并继续它的业务时,为什么会发生这种情况。文档让我看起来应该能够做到这一点,但我不断收到这个异常,它真的让我感到很不舒服,因为要么我做错了,要么文档有误。

我很乐意为此提供任何帮助。

0 投票
2 回答
2613 浏览

ruby-on-rails-3 - RSpec 给出 ActiveModel::MassAssignmentSecurity::Error

我正在关注 Railstutorial.org 并在使用 Rspec 时出现 MassAssignment 错误。

可能是因为我尝试在 RSpec 中分配变量之前:

是否可以在开发或测试模式下禁用 MassAssignment 保护?或者当 RSpec 运行时?任何帮助都会很棒!谢谢

0 投票
2 回答
736 浏览

ruby-on-rails - Ruby on Rails - 批量分配问题

初学者正在运行 rails 3.2.2,Ruby 1.8.7

我有 2 个模型,一个酒店(由脚手架创建)和设施(带有空控制器)。我能够设置 1 对 1 关联和 siplaying 字段,但似乎无法将其插入数据库。我越来越:

--> 我的模型是:

正如我所说,我的设施控制器是空的(它可以是,对吧?因为我与 Hotel 关联?)我的 hotel_controller 是创建脚手架后的默认值,仅添加了 1 行:

最后,我的表单 html 是:

创建时遇到的错误是问题的开始。我应该为hotel_controller 添加更多代码吗?会是什么呢?另外,我还需要为编辑/更新做哪些代码?

在此先感谢,对不起,我是 RoR 的新手。

0 投票
1 回答
259 浏览

ruby-on-rails - 我收到警告“无法批量分配受保护的属性”

当我尝试提交下面的表格时,我收到了这个错误WARNING: Can't mass-assign protected attributes: sub_category。我试图在 stackoverflow 上解决以前提出的相关问题,似乎我在正确的轨道上,但由于某种原因,我仍然遇到同样的错误,什么是我做错了吗?我已经包含了下面的所有信息,提前谢谢你。

查看/表格

控制器

楷模