问题标签 [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.
devise - 使用 Devise 和 Rails 4 时访问自定义参数
我正在使用 teamtreehouse 教程学习 rails。本教程使用 3.1,但我正在尝试学习 4.0,结果我遇到了一个困难,大概是因为 rails 4 使用强参数的力量。我有两个模型,一个用户模型和一个状态模型。我已经使用设计为用户创建身份验证,并包含了新参数。它们是:first_name、:last_name 和:profile_name。我创建了用户和状态之间的关系。
目前使用新参数的用户注册正在工作;我可以使用例如 current_user.last_name 访问它们。但是,我想在状态索引视图上显示创建帖子的用户的 profile_name(每个用户还没有单独的页面)。我想使用
然而它只是显示为空白。如果我做 status.user.email(这是一个预先配置的设计参数),它显示没有问题。我猜我必须在某些控制器中将这些参数列入白名单,但我不知道在哪里或如何。谢谢
paperclip - Rails 4中的回形针 - 强参数禁止属性错误
在 Rails 4 中上传回形针时出现问题 - ForbiddenAttributesError 失败(强参数验证)。拥有最新的回形针宝石和最新的导轨 4 宝石。
我有一个模型“图像”,模型中有一个附加文件“上传”:
图像模型是用脚手架创建的,我添加了回形针迁移。部分表单已更新为使用
该表单生成了一组典型的回形针参数,其中包含上传的图像参数。我还在图像模型中传递了一个 transaction_id,所以它应该被允许。仅此而已 - 图像和交易 ID。
我希望能够在我的控制器中编写以下内容以将我的帖子列入白名单 - 但它失败了:
所以我变得更明确了——但这也失败了:
我有点沮丧 Rails 4 没有向我展示 ForbiddenAttributesError 在开发环境中失败的原因——它应该显示错误但它没有——这将是一个很好的补丁来简化开发。或者也许其他人都得到了我错过的东西!非常感谢您的帮助。
ruby-on-rails - 带有设计的 Rails 4.0。嵌套属性 不允许的参数
我正在使用 Devise 和 Rails 4 开发一个网络应用程序。我有一个用户模型,我已经扩展了 2 个额外的表单字段,这样当用户注册时,他也可以提交他的名字/姓氏。(基于http://blog.12spokes.com/web-design-development/adding-custom-fields-to-your-devise-user-model-in-rails-4/)。我现在想添加一个机构模型。该模型has_many :users 和一个用户belongs_to :institution。我希望能够在注册用户的同一表格上注册机构名称。我知道我的机构中需要一个nested_attribute模型,因为这是父模型,我稍后会展示。当我尝试注册用户时,我进入控制台:Unpermited parameters: Institutions。
我的提示是我无法根据我的子类(用户)更新我的父类(机构)。可能有解决方案吗?或者有没有人经历过类似的事情?
registrations/new.html.erb这里我有嵌套表格
根据我之前链接的教程,我创建了一个新的User::ParameterSanitizer,它继承自Devise::ParameterSanitizer并重写该sign_up
方法,如下所示:
lib/user_sanitizer.rb
最后,我的application_controller.rb
感谢您的阅读!
控制台参数输出:
编辑
按照建议,我添加了
但是,如果我重新编辑
我得到没有语法错误,但我得到未经许可的参数:请求中的机构。
我相信这是因为用户是机构的孩子。但是,我一直无法找到解决此问题的方法。
ruby-on-rails - Rails:如何仅在某些模型上使用 Strong_Params
我还没有切换到 Rails 4 并且一直在研究 strong_params。我喜欢我所看到的并且只想在 1 个模型上使用它。看起来很简单,但我想在我的config > application.rb文件中注释掉 'config.active_record.whitelist_attributes = true'。
如何仅在某些模型中安全(安全)使用 strong_params?
ruby-on-rails - 强参数允许嵌套属性的所有属性
有没有办法在强参数中允许嵌套属性模型的所有属性?这是一个示例代码。
对于杠杆强参数,我目前正在写这个
有没有办法让我可以编写嵌套属性来允许所有属性,而无需明确给出属性名称,如lever_id
and explanation
?
注意:请不要与这个问题混淆,permit!
或者permit(:all)
这是为了允许所有嵌套属性
ruby-on-rails - Rails 4 不允许的数组参数
我的模型中有一个数组字段,我正在尝试更新它。
我的强参数方法如下
我在控制器中的操作如下
但是,每当我提交更新帖子时,我都会在我的开发日志中看到
传入的参数是
我想认为这与属性categories
是一个数组这一事实有关,因为其他一切看起来都很好。再说一次,我可能是错的。那么,我的代码有什么问题,为什么在明确允许的情况下不让我保存类别字段?谢谢。
ruby-on-rails - 强参数不接受数组
我认为这是一个多选复选框
模型
看法
为此的强参数写为
但是在创建时它说
任何线索为什么它不接受来自表单的 role_ids 数组?
ruby-on-rails - Rails JSON 嵌套属性
我正在开发 Rails 4 API,客户端可以将数据发布到控制器,并将其保存在数据库中。我想知道如何实现用户发布嵌套 JSON,然后让控制器接受属性并用它们创建模型。JSON看起来像
然后在一个私人方法中我有
当我尝试访问控制器中的“名称”参数时,我parameters[:identifier][:name]
得到未定义的方法 []。有什么建议么?
创建动作
图片模型只有t.string :name
ruby-on-rails - 升级到 Rails 4 时质量分配失败
我尝试了消息中所说的内容,并添加gem 'strong_parameters'
到我的Gemfile
.
但是当我这样做时,rails s
我得到了上面的错误。
更新
我试过:
in confgi/application.rb
,也与false
,但实际上我不明白那个选项。
ruby-on-rails - Rails 4强参数参数未找到载波错误
我在使用carrierwave 和rails 4 强参数时遇到问题。我有一个带有载波上传按钮的非常简单的模型。如果有人在未选择要上传的文件的情况下提交上传表单,我想显示一条错误消息。
现在,我收到一条param not found:photo
错误消息:
发生此错误是因为 Rails 4 的强参数要求存在图像参数才能提交表单,但由于用户尚未选择图像,因此不存在该参数。
我无法找到解决此问题的方法并将其重定向到相同的操作并显示错误消息。
有没有办法用强参数做到这一点?
这是我尝试使用未选择照片的表单时的开发日志: https ://gist.github.com/leemcalilly/09b6166ce1af6ca6c833
这是我选择照片并成功上传时的开发日志: https ://gist.github.com/leemcalilly/1f1e584f56aef15e7af1
其他相关文件:* models/photo.rb - https://gist.github.com/leemcalilly/95c54a5df4e4ee6518da * controllers/photos_controller.rb - https://gist.github.com/leemcalilly/c0723e6dc5478b0f914d * uploaders/image_uploader.rb - https://gist.github.com/leemcalilly/5e43f6524734991773ae * 意见/照片/index.html.erb - https://gist.github.com/leemcalilly/a8c4c808e5e8a802933b * 意见/照片/_form.html.erb - https ://gist.github.com/leemcalilly/cd0fd518c1b47d9bfb62 * 初始化程序/carrierwaver.rb - https://gist.github.com/leemcalilly/49e04fa1dda891dd108b