问题标签 [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.
ruby-on-rails-4 - Rails 4 中双嵌套模型的不允许参数
我是 Rails 的新手,并基于此构建了一些东西,但它需要进行小的更新以使其与 Rails 4 的强大参数兼容:
http://railscasts.com/episodes/196-nested-model-form-part-1
我根据此处的类似帖子将调查、问题和答案的参数列入白名单:
第一个嵌套模型(问题)有效,但当我提交主调查表时,第二个(答案)返回错误:
不允许的参数:answers_attributes
我检查了数据库,数据不存在,在日志中发现错误。第一组嵌套数据(问题)在那里并且正在工作,只有第二组没有。我也有人们说你也需要的 :id 。
据我所知,每个父级都需要将其将修改的直接嵌套属性列入白名单。我使用完全相同的代码来解决问题,但即使我在问题中这样做了,答案也没有被列入白名单。
任何指针表示赞赏。我似乎找不到任何可查看的双嵌套示例。
更新:我通过反复试验解决了这个问题。
我发现解决方法是白名单需要匹配属性的嵌套。所以为了解决上述问题,我改变了这个:
对此:
例如,只需复制 answers_attributes 的白名单并将其插入到 questions_attributes 的结束“]”之前。
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"]}
我认为这不是最好的方法,所以我暂时不回答这个问题,希望有一个最佳实践。
mongoid - 使用 Rails 4 和 Mongoid 4.0.0 在 MongoDB 中嵌入文档的 Strong_parameters 问题
我只是想用Rails 建立一个博客,使用MongoDB 作为我的持久层。作为其中的一部分,我想在我的帖子中嵌入评论,但每次我这样做时,它都会调用 ActiveModel::ForbiddenAttributesError 失败,我知道这与 Rails 中的 strong_parameters gem 有关。这就是我的控制器的样子
谁能看到我哪里出错了?
devise - Rails 4 and Devise - 通过 JSON API 进行用户注册
我正在尝试通过 JSON 注册设计用户,但不断获得ActiveModel::ForbiddenAttributesError
这是我的 JSON 请求:
我意识到这与强参数有关,但还没有破解它。
ruby-on-rails - 递归/树之类的强参数?
有没有办法在 Rails 4 中为树结构指定任意深度的强参数?例如,我将如何指定如下内容:
让每个节点都有一个名称属性和一个节点属性?
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,但我不确定如何访问控制器并纠正这个问题,或者这是否是问题所在。我希望这很简单,我只是忽略了它。
如果有人遇到此问题或可以对情况有所了解,将不胜感激。
干杯。
ruby-on-rails - 如何使用strong_parameters允许参数之一是任意散列?
我有一个模型,其中一个字段是serialise :config, JSON
.
它应该允许任何散列作为值。但我看不出一个干净的方法来做到这一点strong_parameters
。
我目前的解决方案是:
ruby - 如何制作可选的强参数键但过滤嵌套参数?
我的控制器中有这个:
让我们假设这个 rspec 规范按预期工作:
但是,以下原因ActionController::ParameterMissing
:
它与我用于其他操作并且我无法控制发送的参数的控制器宏有关(宏检查用户凭据,所以我并不真正关心实际测试#update
操作,而我只是测试 before_filters它)。
所以我的问题是:如果它存在,我如何制作可选的,但仍然过滤其中的属性?params[:item]
ruby-on-rails - Rails 强参数增量加法
有谁知道,如果使用 strong_parameters gem,我们可以逐步添加如下属性:
:is_admin
在这里,如果当前用户是管理员,我将逐步要求代码允许参数。它不应该只是添加到先前允许的参数列表(:name
和:email
)吗?