问题标签 [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 回答
6492 浏览

ruby-on-rails-4 - Rails 4 中双嵌套模型的不允许参数

我是 Rails 的新手,并基于此构建了一些东西,但它需要进行小的更新以使其与 Rails 4 的强大参数兼容:

http://railscasts.com/episodes/196-nested-model-form-part-1

我根据此处的类似帖子将调查、问题和答案的参数列入白名单:

Rails 4嵌套属性不允许的参数

第一个嵌套模型(问题)有效,但当我提交主调查表时,第二个(答案)返回错误:

不允许的参数:answers_attributes

我检查了数据库,数据不存在,在日志中发现错误。第一组嵌套数据(问题)在那里并且正在工作,只有第二组没有。我也有人们说你也需要的 :id 。

据我所知,每个父级都需要将其将修改的直接嵌套属性列入白名单。我使用完全相同的代码来解决问题,但即使我在问题中这样做了,答案也没有被列入白名单。

任何指针表示赞赏。我似乎找不到任何可查看的双嵌套示例。

更新:我通过反复试验解决了这个问题。

我发现解决方法是白名单需要匹配属性的嵌套。所以为了解决上述问题,我改变了这个:

对此:

例如,只需复制 answers_attributes 的白名单并将其插入到 questions_attributes 的结束“]”之前。

0 投票
1 回答
3001 浏览

ruby-on-rails - Rails 4 强参数 has_many 和 JSON

我试图在客户端传递 json 并让 rails 负责处理对象的创建。

这是我的模型:

控制器

json数据:

javascript

最后,错误日志:

显然,要么我的 json 搞砸了,要么 ruby​​ .permit 错误。但是,我已经玩了一段时间了,但无法让它发挥作用。官方文档似乎并没有对此进行冒险,我在这里找到的每个示例都涉及表单。

有人知道发生了什么吗?我不能成为第一个尝试这种方法的人。


更新:

通过进行以下更改来解决它:

json:{"order":{"comments":"none","menu_session_id":"9"},"order_items":["5","5"]}

我认为这不是最好的方法,所以我暂时不回答这个问题,希望有一个最佳实践。

0 投票
1 回答
680 浏览

mongoid - 使用 Rails 4 和 Mongoid 4.0.0 在 MongoDB 中嵌入文档的 Strong_parameters 问题

我只是想用Rails 建立一个博客,使用MongoDB 作为我的持久层。作为其中的一部分,我想在我的帖子中嵌入评论,但每次我这样做时,它都会调用 ActiveModel::ForbiddenAttributesError 失败,我知道这与 Rails 中的 strong_parameters gem 有关。这就是我的控制器的样子

谁能看到我哪里出错了?

0 投票
1 回答
8315 浏览

devise - Rails 4 and Devise - 通过 JSON API 进行用户注册

我正在尝试通过 JSON 注册设计用户,但不断获得ActiveModel::ForbiddenAttributesError

这是我的 JSON 请求:

我意识到这与强参数有关,但还没有破解它。

0 投票
1 回答
737 浏览

devise - 在 Rails 4 中设计 3.0.0rc 自定义属性和强参数

我使用解决方案为我的设计devise_parameter_sanitizer(用户)模型设置了一些自定义属性,并使其在注册和编辑表单中可用。

一切正常,但有时(并且经常发生)特别是当我登录、注销或编辑用户时(所以我认为问题与会话有关),我收到以下错误:

设计参数消毒剂

我可以在上面的代码中添加任何逻辑来呈现这个问题吗?

0 投票
3 回答
1227 浏览

ruby-on-rails - 递归/树之类的强参数?

有没有办法在 Rails 4 中为树结构指定任意深度的强参数?例如,我将如何指定如下内容:

让每个节点都有一个名称属性和一个节点属性?

0 投票
4 回答
7794 浏览

ruby-on-rails - Rails 4 & Devise - 创建新用户时不会将用户名添加到数据库中

我是 Ruby on Rails 环境的新手,我能够解决的大多数问题,但我还没有找到解决这个问题的方法。

提供上下文:

  • 使用导轨 (4.0.0)
  • 使用守望者 (1.2.3)
  • 使用设计(3.0.0)
  • 使用 rolify (3.2.0)
  • 使用康康 (1.6.10)

我的问题

当我使用Devise 的注册注册新用户时。:name 字段未添加到数据库中。查看服务器输出

用户模型(app/models/user.rb)

:name 包含在 attr_accessible 中。

用户控制器(app/controllers/users_controller.rb)。

为了与 Rails 4 保持一致,我添加了 params 白名单,但这并没有解决问题。

Devise 的新注册视图(app/views/devise/registrations/new.html.erb)

应用程序控制器(app/controllers/application_controller.rb)

我遵循了有关强参数的说明,并包含了Devise的懒人方法

创建新用户时的服务器输出。

我的结论

毕竟,我相信问题出在设计的registration_controller,但我不确定如何访问控制器并纠正这个问题,或者这是否是问题所在。我希望这很简单,我只是忽略了它。

如果有人遇到此问题或可以对情况有所了解,将不胜感激。

干杯。

0 投票
2 回答
1261 浏览

ruby-on-rails - 如何使用strong_parameters允许参数之一是任意散列?

我有一个模型,其中一个字段是serialise :config, JSON.

它应该允许任何散列作为值。但我看不出一个干净的方法来做到这一点strong_parameters

我目前的解决方案是:

0 投票
1 回答
12332 浏览

ruby - 如何制作可选的强参数键但过滤嵌套参数?

我的控制器中有这个:

让我们假设这个 rspec 规范按预期工作:

但是,以下原因ActionController::ParameterMissing

它与我用于其他操作并且我无法控制发送的参数的控制器宏有关(宏检查用户凭据,所以我并不真正关心实际测试#update操作,而我只是测试 before_filters它)。

所以我的问题是:如果它存在,我如何制作可选的,但仍然过滤其中的属性?params[:item]

0 投票
3 回答
197 浏览

ruby-on-rails - Rails 强参数增量加法

有谁知道,如果使用 strong_parameters gem,我们可以逐步添加如下属性:

:is_admin在这里,如果当前用户是管理员,我将逐步要求代码允许参数。它不应该只是添加到先前允许的参数列表(:name:email)吗?