问题标签 [strong-parameters]

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 投票
1 回答
8375 浏览

ruby-on-rails - Rails:将嵌套属性与 strong_params 合并

在 Rails 4 中,可以将额外参数与用户生成的参数合并,如下所示:

也可以像这样包含嵌套属性:

现在,如果我想将额外的参数合并到一个嵌套模型中怎么办。我试过这个:

但是当我之后用调试器检查参数时,我发现它user已经覆盖了另一个section_attributes而不是与它们合并。有没有更好的方法来解决这个问题?

参数:

0 投票
1 回答
1199 浏览

ruby-on-rails - Rails:strong_params 和 getter/setter 方法

我在 Rails 4 中使用 strong_params。当我尝试使用这样的自定义设置方法时:

然后 Rails 在数据库中将该属性记录为空。如果我删除自定义设置器,那么一切正常。在 Rails 3 中,自定义设置器是这样编写的,但也许事情已经改变了?如果是这样,自定义设置器现在如何工作?

0 投票
4 回答
6420 浏览

ruby-on-rails - Rails 4 + Devise 3.0.0 添加用户名

我正在使用 Rails 4 和 Devise 3.0.0,并且不熟悉使用这些新的强大参数。我使用Devise wiki 上的文档向 User 模型添加了用户名。我遇到的问题是 Rails 4 中的强大参数变化。

如何将:login属性添加到用户模型以启用使用用户名或电子邮件登录?

0 投票
1 回答
3620 浏览

ruby-on-rails - RSpec - 测试强参数 ActionController::ParameterMissing

如何测试某个操作是否引发ActionController::ParameterMissing异常?

例如:

以上似乎不起作用,它会通过ActionController::ParameterMissing异常测试失败。

0 投票
1 回答
1196 浏览

ruby-on-rails - 带有 Rails 引擎的 ActiveModel::ForbiddenAttributes

我正在使用 Rails 引擎(社交流),它在 rails 3 应用程序中使用strong_parameters gem。尝试更新时出现错误,但无法确定问题出在哪里。

我在更新操作上使用模式 ajax 表单,带有 update_attributes。我已将要更新的属性添加到私有 allowed_pa​​rams 方法,但得到一个 ActiveModel::ForbiddenAttributes (ActiveModel::ForbiddenAttributes):错误

使用有关强参数的文档(https://github.com/rails/strong_parameters#readme),我试图确定问题属性可能是什么,但 rails 日志没有提供任何信息。

我尝试在 development.rb 中设置config.action_controller.action_on_unpermitted_pa​​rameters = :log但我的应用程序将不会以:

从我的控制器:

allowed_pa​​rams 方法在 gem 代码中被引用,并且似乎将允许的参数传递给 strong_paramaters gem。

补充说明:

https://groups.google.com/forum/?fromgroups#!searchin/social-stream/whitelist/social-stream/_aManxsvGHI/_XNHZVwB1C4J

* 更新 * 当我使用时,更新似乎有效:

代替

我不清楚为什么。

0 投票
1 回答
12213 浏览

ruby-on-rails - Rails - 如何使用子对象的嵌套属性和强参数填充父对象ID?

我遇到的情况很像Railscast 196-197: Nested Model Form中介绍的情况。但是,我遇到了这种方法和强参数之间的冲突。我想不出一种在子对象上填充父记录 id 字段的好方法,因为我不希望它可以通过表单分配(以防止用户将子记录关联到他们不拥有的父记录)。我有一个解决方案(参见下面的代码),但这似乎是 Rails 可能为我提供的一种聪明、简单的方法。

这是代码...

有一个父对象(称为调查)有多个子对象(称为问题):

有一个表单允许用户同时创建调查和该调查中的问题(为简单起见,下面的代码将调查视为只有问题):

问题是控制器。我想通过强参数保护问题记录上的survey_id 字段,但这样做问题不会通过验证,因为survey_id 是必填字段。

我能想到解决这个问题的唯一方法是将问题与调查分开构建,如下所示:

(Rails 4 beta 1,Ruby 2)

更新

处理此问题的最佳方法可能是分解出一个“表单对象”,如本 Code Climate 博客文章中所建议的那样。不过,由于我对其他观点感到好奇,因此我将问题悬而未决

0 投票
1 回答
2673 浏览

ruby-on-rails - 具有 :current_password 属性的设计的强参数

关于在 RegistrationController 中添加 :current_password 属性是否正确的问题?

用户模型include ActiveModel::ForbiddenAttributesProtection

继承自 Devise 的密码控制器的密码控制器

继承自 Devise 的注册控制器的注册控制器

路由设计使用指定用户的密码和注册控制器。

RegistrationsController我必须为用户添加属性:current_password才能编辑他们的个人资料。

我问的原因是没有strong_parameters我只会指定一个attr_accessiblefor :email, :password, :password_confirmation, :remember_me

非常感谢任何见解。

0 投票
4 回答
5524 浏览

ruby-on-rails - Rails 4 下的 Devise 3 中的自定义用户字段

我正在使用 Devise 3 的候选版本,以便可以将它与 Rails 4 一起使用。在 Rails 3.2 中,我曾经能够通过简单地将自定义字段添加到我的User模型中来添加该字段到 registration/edit.html.erb和registration/new.html.erb 文件(运行正确的迁移后)。然后我只需将该字段添加到attr_accessible模型中的字段列表中。

但是,在 Rails 4 中,没有attr_accessible列表,我不能简单地在视图中添加字段。如何添加自定义用户字段?

0 投票
2 回答
708 浏览

ruby-on-rails-4 - Rails 4 + Angular 嵌套属性

我有一个新的 Rails 4 应用程序,我试图主要在前端使用 Angular。

我有以下内容:

董事会.rb

仓库.rb

在我调用的 create 方法中的 board_controller.rb 中

在哪里

如果我在方法的开头放置一个 binding.pry,参数看起来像这样:

但是,调用 board_params 会直接响应:

我已经看到了在 board_params 中使用warehouses_attributes 而不仅仅是“仓库”的建议,但这似乎也不起作用。

我想知道是否有人遇到过类似的问题,如果是的话..我如何调整我的请求或控制器以接受并使用他们各自的董事会构建仓库对象。也许我在仓库对象中缺少一个根节点?

非常感谢!

0 投票
3 回答
1999 浏览

ruby-on-rails - 使用 belongs_to 创建的强参数

我有一个Course属于一个模型Grade。我正在尝试通过以下方式create在我的种子.rb 文件中学习课程:

这会创建一个新Course对象,但grade_id它是 nil。我究竟做错了什么?