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

ruby-on-rails-3 - Rails 3 和强参数,得到质量分配错误

我试图在我的 Rails 3 项目中的单个模型中使用强参数,该项目有大约 40-50 个模型。

我已经完成了以下操作,但是当我尝试创建或更新此模型的实例时,我收到关于质量分配的相同错误,如下所示,它显示了模型的每个字段。

我已经尝试accepted_nested_attributes_for从模型中删除并重新启动网络服务器,但它对我收到的错误没有影响。

配置/应用程序.rb

app/models/my_service.rb(为简洁起见连接起来)

应用程序/控制器/my_services_controller.rb

应用程序/控制器/application_controller.rb

应用程序/模型/permitted_pa​​rams.rb

更新时出错

我已经运行了一个调试器来确认代码命中了类中的params.require(:my_service).permit!PermittedParams,但是这个异常仍然不断被抛出,据我所知,应该没有什么导致这个模型需要将属性声明为 attr_accessible 的。

任何人都可以阐明这种行为吗?

我正在使用 gem 版本(来自我的Gemfile.lock):

0 投票
3 回答
31947 浏览

ruby-on-rails - Rails 和 Devise 的强大参数

我正在使用设计的 rails 4.0 分支以及 ruby​​ 2.0.0p0 和 Rails 4.0.0.beta1。

这是我正在检查我是否以正确的方式做这件事的问题,或者我是否应该做其他事情。我确信很多迁移到 Rails 4.0 的人都面临着同样的问题(在谷歌搜索类似的事情之后)。

我已阅读以下链接:

现在使用设计我创建了一个用户模型,我使用上述要点创建了以下控制器(并确保将其包含在我的路由文件中)。我的额外参数是 first_name 和 last_name。

还有什么我应该做的吗?这是从现在开始做事的最佳方式吗(自从放弃 attr_accessor 以来)。我的表格似乎工作正常(新的和更新的)。要点说要使用“resource_params”,但这总是在我的服务器日志中给出“Unpermitted parameters”错误。

0 投票
2 回答
4436 浏览

ruby-on-rails - Rails:带有嵌套和强参数的照片上传(Paperclip)

背景:

我正在尝试使用带有 Paperclip gem 的 Strong Params 将照片上传添加到 Advert 模型,其中 Photo 是一个单独的模型,其中“has_attached_file”:upload,我在Ads#new 视图将图像上传到 Photo 实例。参数看起来不错,但我想我错过了控制器中的一些东西。尽管对控制器代码进行了多次迭代,但仍无法使其正常工作。我需要做些什么不同的事情才能让它发挥作用?

将不胜感激任何提示或指示!谢谢

--

广告模型:

--

照片模型:

广告控制器

广告#new

提交操作后的广告参数哈希 (Ad#create)

路线

0 投票
1 回答
6221 浏览

ruby-on-rails-4 - Rails 4强参数错误:没有将符号隐式转换为字符串

我正在将电子表格中的数据导入应用程序数据库。

数据按行解析。每个解析的行看起来像:

创建部门:

但我得到了错误:

这指向

我该如何解决?谢谢!

0 投票
4 回答
50776 浏览

ruby-on-rails - Rails 4:将属性插入参数

在 Rails 3 中,可以将属性插入到参数中,如下所示:

我试图在 Rails 4 中做类似的事情,但没有运气:

Rails 忽略了这个插入。它不会抛出任何错误,它只是悄悄地失败。

0 投票
1 回答
662 浏览

ruby-on-rails - 强参数不起作用

使用 Ruby 1.9.3、Rails 3.2.13、Strong_parameters 0.2.1:

我遵循了教程和 railscasts 中的所有指示,但我无法让 strong_parameters 正常工作。这应该是非常简单的事情,但我看不出错误在哪里。

配置/初始化程序/strong_parameters.rb:

配置/应用程序.rb

应用程序/模型/product.rb

应用程序/控制器/products_controller.rb:

正如预期的那样,这会引发 Forbidden Attributes 异常。但是当我搬到:

然后,如果我进入表格并输入“名称:产品 1”和“颜色:红色”,则不会引发异常;新产品以正确的名称保存在数据库中,没有颜色但名称正确。

我究竟做错了什么?

0 投票
6 回答
185691 浏览

ruby-on-rails - 如何允许具有强参数的数组

我有一个正常运行的 Rails 3 应用程序,它使用 has_many :through 关联,但我将其重新制作为 Rails 4 应用程序,让我可以在 Rails 4 版本中保存关联模型的 ID。

这些是三个相关模型对于两个版本是相同的。

分类.rb

问题.rb

类别.rb

在这两个应用程序中,类别 ID 都像这样传递到创建操作中

在 Rails 3 应用程序中,当我创建一个新问题时,它会插入到问题表中,然后插入到分类表中

在 rails 4 应用程序中,在处理 QuestionController#create 中的参数后,我在服务器日志中收到此错误

并且问题只是被插入到问题表中

虽然我没有将 category_ids 存储在 Questions 模型中,但我将 category_ids 设置为 questions_controller 中的允许参数

谁能解释我应该如何保存 category_ids?请注意,任何一个应用程序的 categories_controller.rb 中都没有创建操作。

这些是两个应用程序中相同的三个表

更新

这是 Rails 3 应用程序的创建操作

这是 Rails 4 应用程序的创建操作

这是 question_params 方法

0 投票
2 回答
1709 浏览

ruby-on-rails - Rails 4 中的 strong_parameters gem 和自定义设计路线

我已经升级到 Rails 4 并选择了 strong_parameters 路线。问题是它抛出了指向我用于设计的客户注册控制器的以下错误:

第 6 行是build_resource从该create方法中调用的,并且 build_resource 是库存标准:

它正在处理的模型是User. 我尝试了 Ryan Bates 创建允许的参数类的方法:

我不确定如何在注册控制器中处理这个问题。

0 投票
3 回答
7309 浏览

ruby-on-rails - RSpec - 测试强参数

strong_parameters在我的控制器中使用 gem,但我很难理解如何测试它。

这是我的设置示例

我想测试该user_params方法以确保它正确过滤掉恶意键/值对,但不知道该怎么做。有没有其他人经历过这个?

0 投票
1 回答
1300 浏览

ruby-on-rails - Rails 4:设置 request.format 不会更新 params[:format]

在 Rails 3 中,params引用request.parameters相同的对象。

随着在 Rails 4 中添加强参数,params现在指的ActionController::Parameters是从request.parameters.

这样做的一个副作用是,一旦你调用params了(从而创建了不同的Parameters对象),调用request.format=将不会更新params

导轨 3:

导轨 4:

request.format从技术上讲,这不是一个错误,因为客户端代码很容易将其params[:format]视为此信息的真实来源(并且不希望能够互换使用两者)。

但这对我来说感觉像是一种设计回归。拥有paramsrequest.parameters保持相同的“除了例外”现在给我们带来了一个错误,我希望它会在未来给许多开发人员带来错误。

我做错了吗?如果是这样,为什么这不是一个真正的问题,我应该做些什么不同的事情?请注意,使我走上这条道路的用例与format= 文档中的用例完全相同。