问题标签 [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 投票
4 回答
9898 浏览

ruby-on-rails - 在 Rails 控制台中创建实例时,Rails 4 强参数失败

可能在这里做一些愚蠢的事情,但这是我的基本千篇一律的类:

在创建 League 的新实例时:

我在这里到底做错了什么?这是 Rails 4.0.0.beta1 构建 + Ruby 2.0

** 更新 **

我现在意识到强参数现在在控制器中而不是在模型中强制执行。原来的问题仍然存在。如果在控制器级别允许它们,如果我在 Rails 控制台中创建实例,如何正确地将属性列入白名单?我不需要attr_accessible在这种情况下也使用,从而完全复制试图“修复”的强参数吗?

0 投票
3 回答
4458 浏览

ruby - 使用 strong_parameters 序列化数组

我正在尝试使用 strong_parameters gem 保存一个数组。但是我对表单如何发送我的数组有疑问。参数如下所示:

我的circuit_params功能看起来像:

我似乎无法获得允许我的参数工作的语法。我在控制台中得到的是:

在我的模型中,我有:

我注意到我可以让它与我调用的属性一起正常工作accepts_nested_attributes_for,所以这可能与它有关。

谢谢你的帮助

0 投票
1 回答
3325 浏览

ruby-on-rails - 未知属性 - 属性存在

我正在运行一个非常令人困惑的错误。
我正在尝试提交具有嵌套属性的表单 - 我正在通过 Rails 4 中的 strong_params 将它们列入白名单。

每当我尝试提交表单时,都会收到此错误:

ActiveRecord::UnknownAttributeError - 未知属性:电子邮件:

我的用户模型具有以下设置:

用户控制器.rb

这给了我以下参数:

{"email"=>"martin@teachmeo.com", "profile_attributes"=> {"first_name"=>"Martin", "last_name"=>"Lang", "website"=>"", "birthdate"= >"", "描述"=>""}}

我的用户模型如下所示:

用户(id:整数,电子邮件:字符串,password_digest:字符串,created_at:日期时间,updated_at:日期时间,auth_token:字符串)

有趣的是,如果我尝试通过 pry 调试它,@user.update_attributes(profile_params) 可以正常工作。

0 投票
1 回答
841 浏览

ruby-on-rails-3.2 - 如何允许具有强参数的 Rack::Test::UploadedFile?

我在 Rails 3.2 中使用 strong_parameters gem。为了测试图像上传过程,我有一个带有参数的传入 post 请求:

如何允许分配图像属性?我试过了;

但它不起作用并说Validation failed: Image can't be blank

当我允许使用它的所有参数时,params.require(:photo).permit!它工作正常。

0 投票
4 回答
7665 浏览

ruby-on-rails - Rails 4/Devise/MongoDB:使用自定义属性和强参数的“不允许的参数”

尝试将嵌套的自定义属性Profile(Mongoid 文档)添加到我的设计User类。当提交设计注册表单时,它应该同时创建一个用户和一个相应的配置文件对象。

我希望最终结果在我的 MongoDB 中看起来像这样:

用户:

轮廓:


不幸的是,每当我提交注册时,我都会在控制台中收到此信息。它成功创建了用户,但未能创建关联的配置文件。


我有设置:

  • Rails 4.0.0beta1,Ruby 2.0.0-p0
  • 设计('rails4' 分支),Mongoid(来自 git)
  • 自定义设计注册控制器,用于添加强参数的定义。

模型/用户.rb:

模型/profile.rb:

控制器/用户/registrations_controller.rb

路线.rb

我已经看过这些相关的帖子,它们似乎没有帮助:


编辑:

看起来 Devise 确实在其“rails4”分支中支持强参数(应该在几天内合并到 master 中。)查看代码,您似乎可以为设计控制器上的每个操作覆盖 params 函数。对于创建新用户,它sign_up_params而不是resource_params在我的示例中。

尽管将此名称更改为正确的名称,但它仍然不起作用......仅使用此 bang 将所有参数列入白名单似乎有效:

显然,这种破坏了强参数的目的......所以现在的问题是我如何允许我的嵌套属性profile_attributes(如我原来的问题所示)?

0 投票
1 回答
3055 浏览

rails-activerecord - 使用 params hash 在 rails 4.0 中保存记录

我正在尝试使用 form_for 辅助方法在 Rails 中创建新记录。我认为 params 哈希是空白的,因为我在提交表单时不断收到空白错误。

这是我的表格:

这是我的部门控制器

这是模型:

当我提交时,会出现错误,提示 full_name 不能为空(并且字段现在为空)。调试信息是:

我还检查了开发日志。事务开始,然后回滚。我可以在控制台中保存一条记录,所以我猜测它与 params 哈希有关,但无法弄清楚。请帮忙

0 投票
1 回答
2829 浏览

ruby-on-rails - Rails Unpermitted 参数选择

我正在尝试添加包含字符串列表的记录。

模型:

但我的日志中仍然出现此错误:

我究竟做错了什么?为什么类别不会序列化?

编辑:

刚刚发现这种方法已被弃用,我正在使用 Rails 4 ......我应该改用什么?

编辑2:

现在在日志中得到这个:

但没有创建新记录(出于某种原因回滚)。

serialize :category从模型中删除。这现在在我的控制器中:

0 投票
2 回答
3500 浏览

ruby-on-rails - 需要属性的强参数

是否可以使用强参数根据需要标记哈希的单个属性?

给定输入,例如:

标准的强参数示例是:

params.require(:example).permit(:optional, :required)

鉴于您可能需要某些参数,我认为以下方法可行:

我尝试过:

还有我能想到的任何其他事情。

有谁知道它是否可能?

0 投票
0 回答
59 浏览

ruby-on-rails - 混合模型中的 Strong_parameters

我正在使用强参数,当我尝试保存以下表单时,我收到以下消息。

# '<'VisitsController:0x007fa88deec428'>' 的未定义方法 `household_params'

我很困惑,因为我使用的是访问控制器而不是家庭控制器 - 访问与家庭相关联,如下所示,我使用以下代码调用视图:

表格是:

如果没有显示家庭信息的三行,该表格可以正常工作

我在想 strong_parameters 越来越困惑

0 投票
1 回答
956 浏览

ruby-on-rails - Rails 3.2.13 和 strong_parameters 异常

我正在玩 Rails 3.2.13 和 strong_parameters gem。我想知道在开发测试时是否应该得到一个引发的异常ActiveModel::ForbiddenAttributes

我的 Post 模型有一个:title:content但如果我:title从许可中删除,我不会收到错误消息,但我确实会被重定向回带有 flash 通知的编辑页面,因此它保存了记录。虽然,它并没有改变 ,这是:title理所当然的。这是默认行为吗?

我想知道是否需要做其他事情来获得引发的异常。

宝石文件:

应用配置:

岗位型号:

后控制器: