问题标签 [attr-accessible]
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 - attr_accessible, attr_accessor, 我想知道他们是做什么的
我在 Rails 和面向对象编程中迈出了第一步。我想了解一些非常基本的东西:为什么我们需要attr_accessible
在模型中?
我已经读到黑客可以使用批量分配来更改数据库条目并因此损害安全性,这就是敏感字段需要保护的原因(atribute_protected
在这种情况下使用)。
是attr_accessible
相反的atribute_protected
吗?如果是这样,为什么我们需要说明哪些字段是可访问的,哪些是不可访问的?那些字段不能被默认访问吗?以及是attr_accessor
用来做什么的?
我注意到,如果我不使某些字段可访问,我的应用程序将无法运行。我可以将 attr_accessible 用于敏感字段,例如 :password_digest 和 :admin 吗?
如果有人可以向我解释,那就太棒了。
一切顺利,TimmyOnRails
ruby-on-rails - 与 attr_accessible 和注册表单混淆
对于我正在处理的 Rails 项目,用户模型中的大部分信息都是保密的,例如两因素身份验证电话号码。
我只将模型中的基础知识email
、password
、 和password_confirmation
.
当只能通过批量分配设置少数属性时,我正在尝试弄清楚如何为此类用户设置注册表单。有没有办法指定一组普通的attr_accessible
属性,以及只有在创建新的用户实例时才能访问的第二组?
ruby-on-rails - 通过将外键添加到 attr_accessible 来解决“无法批量分配受保护的属性”
我需要创建一个允许创建和更新项目的 CRUD,其中一个属性是拥有该项目的客户端。创建或编辑项目时,使用选择标签选择客户端。
我有这个模型:
这个控制器:
和视图上的这个表格(在haml中):
代码是用脚手架生成的,我只是删除了不必要的部分并添加了代码来创建选择。
最初,在 Proyecto 模型上,我有这个:
但收到错误“无法批量分配受保护的属性:cliente_id”。在这里在stackoverflow上搜索类似的问题,发现必须将cliente_id添加到attr_accessible,但在google上搜索也发现由于安全问题,我必须不添加外键到attr_accessible,这是矛盾的。
这是对我的创建和更新方法进行编码的正确方法,将 cliente_id 添加到 attr_accessible?如果没有,正确的方法是什么?
我正在使用 rails 3.2.8 和 ruby 1.9.3p194
jquery - Rails 嵌套表单模型创建失败使用茧静默
我将 Mongoid 2.4.12 和 Rails 3.2.8 与cocoon一起使用。我的嵌套表单在前端似乎完美无缺,但嵌套模型和关系没有被保存。
项目
任务
项目视图
任务部分
这是我的参数:
如您所见,我没有收到任何关于accepts_nested_attributes_for
等的错误。
在我的projects#create
操作中,我可以在之后进行调试@project.save
并看到它@project.tasks
正确返回了一个任务的数组。然而,这个任务永远不会被创建/插入/保存,之后也没有关系。关于我可能遗漏的任何建议?
ruby-on-rails - In Rails, how do I limit which attributes can be updated, without preventing them from being created?
I have a situation where an attribute can be created through a JSON API. But once it is created, I want to prevent it from ever being updated.
This constraint causes my first solution, which is using attr_accessible
, to be insufficient. Is there a nice way to handle this type of situation in rails, or do I have to perform a manual check in the update
method?
ruby-on-rails - Rails:布尔 attr_accessible 默认方法行为
我有一个普通类(事件),其中布尔值定义为
在 db 模式中是
因此,默认方法归档?是自动定义的。
经过调试会话后,我发现了这一点
最后两个值不应该都是真的吗?我在这里想念什么?
即使这也无济于事:
先感谢您
ruby-on-rails - 将 attr_accessible 应用于给定角色的所有字段
我正在寻找一种方法来轻松地将 attr_accessible 应用于给定角色的模型中的所有字段,以便我可以在我的管理控制台中批量分配所有字段。我想做这样的事情:
使用 :all 显然不起作用。有没有一种简单的方法可以将 attr_accessible 应用于所有字段而不必全部列出,因为我有很多字段,而且我不想每次添加字段时都必须记住这样做。
ruby-on-rails - attr_accessible 中的属性时出现 MassAssignment 错误
ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: title
当我attr_accessible :title
在模型中时,我得到了一个。请参阅下面的控制台调用的代码和输出:
用户模型
模板模型
堆栈跟踪
这么大的问题是,为什么?我错过了什么吗?我检查了拼写错误,但我假设我要么忽略了某些东西,要么不理解。
attr-accessible - 无法批量分配受保护的属性:即使 attr_accessible 已经添加
即使已经添加了attr_accessible属性,也无法批量分配:title、:url和:about 。在 Rails 控制台上很好,但在在线表单上不行。
岗位型号:
用户模型:
后控制器创建:
我的表单视图就像任何其他表单视图一样。
ruby-on-rails-3 - 仅在 rails 3 中使用特定方法访问列
假设我有一个User
具有两个属性的模型::name
和:age
。我希望该:age
列只能由“def 操作年龄()”(某种方法)访问。这也包括,user.update_attributes!(:age => 10)
预计会抛出异常。是否可以在 Rails 3 中做到这一点?