问题标签 [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-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_params.rb
更新时出错
我已经运行了一个调试器来确认代码命中了类中的params.require(:my_service).permit!
行PermittedParams
,但是这个异常仍然不断被抛出,据我所知,应该没有什么导致这个模型需要将属性声明为 attr_accessible 的。
任何人都可以阐明这种行为吗?
我正在使用 gem 版本(来自我的Gemfile.lock):
ruby-on-rails - Rails 和 Devise 的强大参数
我正在使用设计的 rails 4.0 分支以及 ruby 2.0.0p0 和 Rails 4.0.0.beta1。
这是我正在检查我是否以正确的方式做这件事的问题,或者我是否应该做其他事情。我确信很多迁移到 Rails 4.0 的人都面临着同样的问题(在谷歌搜索类似的事情之后)。
我已阅读以下链接:
- 设计和强大的参数
- https://gist.github.com/kazpsp/3350730
- https://github.com/plataformatec/devise/tree/rails4#strong-parameters
现在使用设计我创建了一个用户模型,我使用上述要点创建了以下控制器(并确保将其包含在我的路由文件中)。我的额外参数是 first_name 和 last_name。
还有什么我应该做的吗?这是从现在开始做事的最佳方式吗(自从放弃 attr_accessor 以来)。我的表格似乎工作正常(新的和更新的)。要点说要使用“resource_params”,但这总是在我的服务器日志中给出“Unpermitted parameters”错误。
ruby-on-rails - Rails:带有嵌套和强参数的照片上传(Paperclip)
背景:
我正在尝试使用带有 Paperclip gem 的 Strong Params 将照片上传添加到 Advert 模型,其中 Photo 是一个单独的模型,其中“has_attached_file”:upload,我在Ads#new 视图将图像上传到 Photo 实例。参数看起来不错,但我想我错过了控制器中的一些东西。尽管对控制器代码进行了多次迭代,但仍无法使其正常工作。我需要做些什么不同的事情才能让它发挥作用?
将不胜感激任何提示或指示!谢谢
--
广告模型:
--
照片模型:
广告控制器
广告#new
提交操作后的广告参数哈希 (Ad#create)
路线
ruby-on-rails-4 - Rails 4强参数错误:没有将符号隐式转换为字符串
我正在将电子表格中的数据导入应用程序数据库。
数据按行解析。每个解析的行看起来像:
创建部门:
但我得到了错误:
这指向
我该如何解决?谢谢!
ruby-on-rails - Rails 4:将属性插入参数
在 Rails 3 中,可以将属性插入到参数中,如下所示:
我试图在 Rails 4 中做类似的事情,但没有运气:
Rails 忽略了这个插入。它不会抛出任何错误,它只是悄悄地失败。
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”和“颜色:红色”,则不会引发异常;新产品以正确的名称保存在数据库中,没有颜色但名称正确。
我究竟做错了什么?
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 方法
ruby-on-rails - Rails 4 中的 strong_parameters gem 和自定义设计路线
我已经升级到 Rails 4 并选择了 strong_parameters 路线。问题是它抛出了指向我用于设计的客户注册控制器的以下错误:
第 6 行是build_resource
从该create
方法中调用的,并且 build_resource 是库存标准:
它正在处理的模型是User
. 我尝试了 Ryan Bates 创建允许的参数类的方法:
我不确定如何在注册控制器中处理这个问题。
ruby-on-rails - RSpec - 测试强参数
我strong_parameters
在我的控制器中使用 gem,但我很难理解如何测试它。
这是我的设置示例
我想测试该user_params
方法以确保它正确过滤掉恶意键/值对,但不知道该怎么做。有没有其他人经历过这个?
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]
视为此信息的真实来源(并且不希望能够互换使用两者)。
但这对我来说感觉像是一种设计回归。拥有params
并request.parameters
保持相同的“除了例外”现在给我们带来了一个错误,我希望它会在未来给许多开发人员带来错误。
我做错了吗?如果是这样,为什么这不是一个真正的问题,我应该做些什么不同的事情?请注意,使我走上这条道路的用例与format= 文档中的用例完全相同。