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

0 投票
2 回答
214 浏览

ruby-on-rails - Rails:使用生成器自动创建 attr_accessible?

我几乎总是attr_accessible在我的 Rails 模型中使用。

当我运行相关的生成器时,是否有生成器标志或其他终端命令attr_accessible以及模型字段自动插入到模型文件中?

0 投票
2 回答
538 浏览

ruby-on-rails - 用户模型,attr_accessible 和 admin

我正在构建一个简单的博客风格的应用程序。我真的只需要管理员和非管理员用户,所以似乎在用户模型中有一个名为 admin (boolean) 的简单列就足够了。

我现在正在使用 Devise 进行授权,并且添加了管理列。我正在尝试在 中设置我的默认管理员用户(我自己)seeds.rb,但是false除非我将 admin 列添加到attr_accessible. 然而,这似乎是一个安全问题,我通常不希望管理员用户能够被创建,除非由另一个管理员创建。执行此操作的正确且安全的方法是什么?

0 投票
1 回答
103 浏览

ruby-on-rails - 如何在视图中获得可能的 attr_accesible 属性?

由于可以使用角色定义 attr_accesible,attr_accessible :name, :as => :admin我如何才能在特定角色的视图中获取所有 attr_accesible 属性?

有了这些信息,就可以显示自定义视图表单。

http://apidock.com/rails/ActiveModel/MassAssignmentSecurity/ClassMethods/attr_accessible

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 回答
247 浏览

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 参数?

0 投票
3 回答
573 浏览

ruby-on-rails - 有没有办法在使用 Mongoid 的 rails 项目中默认设置 attr_accessible ?

推荐的解决方案是这样的:

但这仅在您使用活动记录时才有效。在 mongoid rails 项目上是否有类似的方法?它使用活动模型但不使用活动记录。

0 投票
2 回答
1788 浏览

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 时,这个特定的名称都会改变)

我已经检查并确保在我的用户模型中我有代码

甚至尝试过设置

然而,在命令行中仍然有相同的结果。

让我的数据库填充示例用户的任何提示?

非常感谢。

0 投票
1 回答
163 浏览

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 各自的值也不能通过控制台更改。

0 投票
1 回答
1401 浏览

ruby-on-rails - 将 ID 值传递给控制器​​,出现批量分配安全错误

我有一个消息模型和一个用户模型。我的消息belongs_to我的用户和用户has_many消息。

我试图允许用户在他们的公共个人资料页面(他们的显示模板)上向另一个用户发送私人消息。我已经尝试了很多尝试,但最终我又遇到了需要 ID 的问题attr_accessible(我听说这样做不好)。难道我做错了什么?

我的消息模型,我有:user_id(这是当前用户,又名sending_fromID):to_id,,,:content

当我查看用户个人资料页面时,在显示模板上我有

在我的用户展示操作中,我有

当表单提交时,它会转到我的消息创建操作

但是,我总是得到错误

似乎我可以通过 make 修复它:to_id attr_accessible,但是我听说这样做不是很安全。难道我做错了什么?这个问题一直在杀死我。

任何帮助,将不胜感激。谢谢

0 投票
1 回答
1055 浏览

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 密钥查找作者。