【发布时间】:2015-10-08 16:08:10
【问题描述】:
我在application.rb 中添加了以下内容,因为我想控制所有发送的参数:
config.action_controller.action_on_unpermitted_parameters = :raise
如果我忘记允许参数或类似的东西,我在开发过程中会很快看到。
但是 - 现在我在尝试通过表单更新用户时收到以下错误:
found unpermitted parameters: utf8, _method, authenticity_token, commit, locale, id
我有点不确定如何进行:确实这些是我之前不关心的参数,据我所知,它们是由 Rails 的form_for 自动发送的。
我只想关心我的资源的参数,例如user[name]、user[email]等
有没有办法通常允许上面那些未经允许的参数?还是我错过了重要的一点?
更新
由于问题似乎无法重现,这里是具有特定提交的存储库:
https://github.com/jmuheim/base/commit/dbb62dd68a8a243d056457c9093a6cd8ea3e3836
只需启动服务器,加载页面,以用户身份注册(或使用 josh 和来自种子的密码 joshjosh),然后转到用户 > 列出用户,然后编辑您的用户。然后你会得到错误。
您也可以直接执行 $ rake 并查看失败的规范。
有趣的是,错误是在注册时不提出的,所以我猜它与UsersController有关。 inherited resources 可能有问题?
【问题讨论】:
-
可能只有我一个人,但是当我打开该选项时,rails 会忽略那些默认参数。我无法重现您的问题。
-
我更新了问题。
-
@JoshuaMuheim 我认为您的问题在于您的特定应用程序。我知道这听起来很明显,但正如其他人所说,它应该在任何情况下都可以重现。我建议不要要求社区在本地启动您的应用程序,因为这违反了“我做错了什么?”的标志。并将调试的负担交给我们社区。span>
标签: ruby-on-rails strong-parameters