问题标签 [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 - Rails:使用生成器自动创建 attr_accessible?
我几乎总是attr_accessible
在我的 Rails 模型中使用。
当我运行相关的生成器时,是否有生成器标志或其他终端命令attr_accessible
以及模型字段自动插入到模型文件中?
ruby-on-rails - 用户模型,attr_accessible 和 admin
我正在构建一个简单的博客风格的应用程序。我真的只需要管理员和非管理员用户,所以似乎在用户模型中有一个名为 admin (boolean) 的简单列就足够了。
我现在正在使用 Devise 进行授权,并且添加了管理列。我正在尝试在 中设置我的默认管理员用户(我自己)seeds.rb
,但是false
除非我将 admin 列添加到attr_accessible
. 然而,这似乎是一个安全问题,我通常不希望管理员用户能够被创建,除非由另一个管理员创建。执行此操作的正确且安全的方法是什么?
ruby-on-rails - 如何在视图中获得可能的 attr_accesible 属性?
由于可以使用角色定义 attr_accesible,attr_accessible :name, :as => :admin
我如何才能在特定角色的视图中获取所有 attr_accesible 属性?
有了这些信息,就可以显示自定义视图表单。
http://apidock.com/rails/ActiveModel/MassAssignmentSecurity/ClassMethods/attr_accessible
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 的问题在起作用。我找不到有关使角色动态化的任何信息。我能找到的最好的就是这个。
ruby-on-rails-3 - Rails 3.2 是否有任何教程涵盖为用户分配管理属性?
免责声明:我使用的是 Rails 3.2。具体来说,在 Rails 3 in Action 一书中:
用户模型确实有 attr_accessible attr_accessible :email, :password, password_confirmation, :remember_me
User 模型没有 :admin 列出,因此它不能作为 params[:user] 的一部分批量分配。
app/views/admin/users/_form.html.erb 中的 form_for 块设置了一个复选框元素以允许管理员将用户设置为管理员:
` <%= f.check_box :admin %> <%= f.label :admin, "是管理员吗?" %>
app/controllers/admin/users_controller.rb
@user.admin = params[:user][:admin] == "1" 行应该将 admin 属性设置为 true,但会生成大量分配错误,这会阻止我将 @user.admin 属性更改为 true。
我可以将 admin 属性设置为 true 而无需通过控制台进行批量分配,同时在 User 模型中定义一个方法:
这完成了同样的事情,没什么特别的。
如何获取分配给 TRUE 的管理属性,以便用户通过复选框使用视图和控制器工作?
有没有办法从 params[:user][:admin]) 中删除或分离 admin 参数?
ruby-on-rails - 有没有办法在使用 Mongoid 的 rails 项目中默认设置 attr_accessible ?
推荐的解决方案是这样的:
但这仅在您使用活动记录时才有效。在 mongoid rails 项目上是否有类似的方法?它使用活动模型但不使用活动记录。
ruby-on-rails - Ruby on Rails 教程(由 Hartl 编写)时 name = Faker::Name.name encoutner Can't mass-assign protected attributes 错误
更新:我在 Ruby 1.8 上运行。存储库的链接是 github.com/lauherk/sample_app
我正在阅读 Micheal hartl 的 Ruby on Rails 教程,在第 9 章中,我遇到了用示例用户填充数据库的问题http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-users ?version=3.2#sec:sample_users
我的 rake 的代码是:
运行两者后:
我从命令行收到以下错误:
(每次我运行 rake 时,这个特定的名称都会改变)
我已经检查并确保在我的用户模型中我有代码
甚至尝试过设置
然而,在命令行中仍然有相同的结果。
让我的数据库填充示例用户的任何提示?
非常感谢。
ruby-on-rails-3.1 - 设计邀请的 destroy_if_previously_invited 失败,没有提供密码
我在 devise + devise_invitable + cancan 配置上遇到问题:如果用户在没有邀请的情况下以正常方式注册,则不执行此处描述的工作的最后一步: https ://github.com/scambra/devise_invitable/ blob/master/lib/devise_invitable/controllers/registrations.rb
原因是这些属性在没有密码的情况下是无法编辑的,而 attr_accessible 是为它们设置的。
如何解决这个障碍?知道我花了多少时间试图弄清楚这一点,但仍然不明白,真是太遗憾了:)
PS 各自的值也不能通过控制台更改。
ruby-on-rails - 将 ID 值传递给控制器,出现批量分配安全错误
我有一个消息模型和一个用户模型。我的消息belongs_to
我的用户和用户has_many
消息。
我试图允许用户在他们的公共个人资料页面(他们的显示模板)上向另一个用户发送私人消息。我已经尝试了很多尝试,但最终我又遇到了需要 ID 的问题attr_accessible
(我听说这样做不好)。难道我做错了什么?
我的消息模型,我有:user_id
(这是当前用户,又名sending_from
ID):to_id
,,,:content
。
当我查看用户个人资料页面时,在显示模板上我有
在我的用户展示操作中,我有
当表单提交时,它会转到我的消息创建操作
但是,我总是得到错误
似乎我可以通过 make 修复它:to_id attr_accessible
,但是我听说这样做不是很安全。难道我做错了什么?这个问题一直在杀死我。
任何帮助,将不胜感激。谢谢
ruby-on-rails - 即使我使用 attr_accessible 也无法批量分配受保护的属性
我正在开发具有 JSON API 的 Rails 3.2.2 应用程序,并且我使用 CLI 客户端插入一些数据。除了作者模型外,它工作正常。当我尝试创建一个新帖子时(帖子 belongs_to :author 和 Author has_many :posts)我收到以下错误:
我对该主题进行了大量研究,但没有找到可行的解决方案:-(
我使用 attr_accessible 来避免 MassAssignent 错误,它适用于所有其他模型,但不适用于“作者”名称属性。
这是作者模型:
实际上,我禁用了 whitelist_attributes 并且它解决了我的问题,但我认为这不是执行此操作的便捷方式(而且可能不是一个好主意)。
我的问题是: 为什么 attr_accessible 在这里不起作用?以及如何在不禁用白名单的情况下解决问题?
谢谢,
瑞文
编辑 :
创建新帖子的方法:
current_author 使用给定的 API 密钥查找作者。